如何在golang中获取redis键值存储列表中的值?

Dan*_*any 2 key-value go redis

我在golang中编写一个函数,通过传递密钥从redis db获取值.值是一个列表.我正在使用'GET'redis命令来获取值.但它给了我错误.

你可以在下面找到代码,

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)
    }
}
Run Code Online (Sandbox Code Playgroud)

输出在这里,

Type list
2015/03/14 19:09:12 WRONGTYPE Operation against a key holding the wrong kind of value
exit status 1
Run Code Online (Sandbox Code Playgroud)

Go 1.4.2
Redis-2.8.19
Run Code Online (Sandbox Code Playgroud)

Redis Go Library

github.com/garyburd/redigo/redis
Run Code Online (Sandbox Code Playgroud)

谁能帮助我呢?谢谢

小智 7

使用LRANGE获取列表的元素:

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

GET命令获取字符串键的值.GET命令不适用于列表键.