donglizuo8892
2015-03-15 00:19
浏览 1.0k

如何从golang的Redis键值存储中获取列表值?

I am writing a function in golang to get the value from redis db by passing the key. The value is a list. I am using 'GET' redis command to get the value. But it is giving me error.

You can find below the code,

func GetValue(key string) []string {
    var value []string
    var err error
    value, err = redis.Strings(conn.Do("GET", key))

    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(value)
    return value
}

func RetrieveValue() {
    keyType, _ := conn.Do("TYPE", recentItemKey)
    fmt.Println("Type", keyType)

    var results []string
    results = GetValue(recentItemKey)

    for _, val := range results {
        fmt.Println(val)
    }
}

And the output is here,

Type list
2015/03/14 19:09:12 WRONGTYPE Operation against a key holding the wrong kind of value
exit status 1

Version

Go 1.4.2
Redis-2.8.19

Redis Go Library

github.com/garyburd/redigo/redis

Could anyone help me on this.? Thank you

图片转代码服务由CSDN问答提供 功能建议

我正在用golang编写一个函数,以通过传递键从redis db获取值。 该值是一个列表。 我正在使用'GET'redis命令来获取值。

您可以在代码下面找到

  func GetValue(key string)[] string {\  n var值[] string 
 var err错误
值,err = redis.Strings(conn.Do(“ GET”,键))
 
如果err!= nil {
 log.Fatal(err)  
} 
 fmt.Println(value)
返回值
} 
 
func RetrieveValue(){
 keyType,_:= conn.Do(“ TYPE”,最近项关键字)
 fmt.Println(“ 类型“,keyType)
 
 var结果[] string 
结果= GetValue(recentItemKey)
 
表示_,val:=范围结果{
 fmt.Println(val)
} 
} \  n   
 
 

输出在这里

 类型列表
2015 / 03/14 19:09:12 WRONGTYPE 针对键持有错误类型的值的操作
exit状态1 
   
 
 

版本

   Go 1.4.2 
Redis-2.8.19 
   
 
 

Redis Go Library

  github.com/garyburd/redigo/redis
   
 
 

有人可以帮我吗? 谢谢

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanquanzhi5560 2015-03-15 02:59
    已采纳

    Use LRANGE to get the elements of a list:

    func GetValues(key string) []string {
      value, err := redis.Strings(conn.Do("LRANGE", key, 0, -1))
      if err != nil {
        log.Fatal(err)
      }
      return value
    }
    

    The GET command gets the value of a string key. The GET command does not work on list keys.

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题