1
0
mirror of https://github.com/astaxie/beego.git synced 2025-07-10 11:00:19 +00:00

Add GetMulti method for Cache interface

This commit is contained in:
weizili.build17
2015-06-07 21:33:01 +08:00
parent b9852df51c
commit 970f0b460c
8 changed files with 258 additions and 1 deletions

View File

@ -63,6 +63,32 @@ func (rc *MemcacheCache) Get(key string) interface{} {
return nil
}
// get value from memcache.
func (rc *MemcacheCache) GetMulti(keys []string) []interface{} {
size := len(keys)
var rv []interface{}
if rc.conn == nil {
if err := rc.connectInit(); err != nil {
for i := 0; i < size; i++ {
rv = append(rv, err)
}
return rv
}
}
mv, err := rc.conn.GetMulti(keys)
if err == nil {
for _, v := range mv {
rv = append(rv, string(v.Value))
}
return rv
} else {
for i := 0; i < size; i++ {
rv = append(rv, err)
}
return rv
}
}
// put value to memcache. only support string.
func (rc *MemcacheCache) Put(key string, val interface{}, timeout int64) error {
if rc.conn == nil {