Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
张磊
/
FileStorageBeego
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
0b42e557
authored
2014-01-09 18:50:30 +0800
by
Pengfei Xue
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
align memcache operations with redis
1 parent
a369b15e
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
31 additions
and
10 deletions
cache/memcache.go
cache/memcache.go
View file @
0b42e55
...
...
@@ -21,7 +21,11 @@ func NewMemCache() *MemcacheCache {
// get value from memcache.
func
(
rc
*
MemcacheCache
)
Get
(
key
string
)
interface
{}
{
if
rc
.
c
==
nil
{
rc
.
c
=
rc
.
connectInit
()
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
err
}
}
v
,
err
:=
rc
.
c
.
Get
(
key
)
if
err
!=
nil
{
...
...
@@ -39,7 +43,11 @@ func (rc *MemcacheCache) Get(key string) interface{} {
// put value to memcache. only support string.
func
(
rc
*
MemcacheCache
)
Put
(
key
string
,
val
interface
{},
timeout
int64
)
error
{
if
rc
.
c
==
nil
{
rc
.
c
=
rc
.
connectInit
()
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
err
}
}
v
,
ok
:=
val
.
(
string
)
if
!
ok
{
...
...
@@ -55,7 +63,11 @@ func (rc *MemcacheCache) Put(key string, val interface{}, timeout int64) error {
// delete value in memcache.
func
(
rc
*
MemcacheCache
)
Delete
(
key
string
)
error
{
if
rc
.
c
==
nil
{
rc
.
c
=
rc
.
connectInit
()
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
err
}
}
_
,
err
:=
rc
.
c
.
Delete
(
key
)
return
err
...
...
@@ -76,7 +88,11 @@ func (rc *MemcacheCache) Decr(key string) error {
// check value exists in memcache.
func
(
rc
*
MemcacheCache
)
IsExist
(
key
string
)
bool
{
if
rc
.
c
==
nil
{
rc
.
c
=
rc
.
connectInit
()
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
false
}
}
v
,
err
:=
rc
.
c
.
Get
(
key
)
if
err
!=
nil
{
...
...
@@ -93,7 +109,11 @@ func (rc *MemcacheCache) IsExist(key string) bool {
// clear all cached in memcache.
func
(
rc
*
MemcacheCache
)
ClearAll
()
error
{
if
rc
.
c
==
nil
{
rc
.
c
=
rc
.
connectInit
()
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
err
}
}
err
:=
rc
.
c
.
FlushAll
()
return
err
...
...
@@ -109,20 +129,21 @@ func (rc *MemcacheCache) StartAndGC(config string) error {
return
errors
.
New
(
"config has no conn key"
)
}
rc
.
conninfo
=
cf
[
"conn"
]
rc
.
c
=
rc
.
connectInit
()
if
rc
.
c
==
nil
{
var
err
error
rc
.
c
,
err
=
rc
.
connectInit
()
if
err
!=
nil
{
return
errors
.
New
(
"dial tcp conn error"
)
}
return
nil
}
// connect to memcache and keep the connection.
func
(
rc
*
MemcacheCache
)
connectInit
()
*
memcache
.
Connection
{
func
(
rc
*
MemcacheCache
)
connectInit
()
(
*
memcache
.
Connection
,
error
)
{
c
,
err
:=
memcache
.
Connect
(
rc
.
conninfo
)
if
err
!=
nil
{
return
nil
return
nil
,
err
}
return
c
return
c
,
nil
}
func
init
()
{
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment