beego 和 redis


beego  自带 cache :

github.com/beego/beego/v2/client/cache  

github.com/beego/beego/v2/client/cache/redis

最大的坑:

// associate with config key.
func (rc *Cache) associate(originKey interface{}) string {
   return fmt.Sprintf("%s:%s", rc.key, originKey)
}
if _, ok := cf["key"]; !ok {
   cf["key"] = DefaultKey
}


必须是  有一个前缀的key, 比如key为abc    你操作的可以  key,变成  abc:key     如果这个rediskey 空,就是  :key    前面有 :  结果就是和已有项目无法兼容!!!!!


所以最好用  

"github.com/go-redis/redis"
func (o *ObjectController) Testredis() {
   redisdb := redis.NewClient(&redis.Options{
      Addr:     "127.0.0.1:6379", // use default Addr
      Password: "xxxx",               // no password set
      DB:       0,                // use default DB
   })
   _, err := redisdb.Ping().Result()
   if err != nil {
      o.error(err.Error())
   }
   val, err := redisdb.HGet("clients","984969").Result()
   if err != nil {
      o.error(err.Error())
   }
   var data interface{}
    json.Unmarshal([]byte(val), &data)
   ret:=make(map[string]interface{})
   ret["success"]=1
   ret["data"]=data
   o.Data["json"] = ret
   o.ServeJSON()

}

版权声明本文仅代表作者观点,不代表本站立场。本文系作者授权发表,未经许可,不得转载。图文来源网络,侵权删!

搜索