donglizuo8892 2015-03-15 00:19
浏览 1411
已采纳

如何从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

  • 写回答

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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。