如何从 golang 中的 redis 键值存储中获取列表值?
How to get a value which is a list from redis key-value store in golang?
我正在用 golang 编写一个函数,通过传递密钥从 redis 数据库中获取值。该值是一个列表。我正在使用 '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)
}
}
输出在这里,
Type list
2015/03/14 19:09:12 WRONGTYPE Operation against a key holding the wrong kind of value
exit status 1
版本
Go 1.4.2
Redis-2.8.19
Redis Go 库
github.com/garyburd/redigo/redis
谁能帮我解决这个问题。?谢谢
使用LRANGE获取列表的元素:
func GetValues(key string) []string {
value, err := redis.Strings(conn.Do("LRANGE", key, 0, -1))
if err != nil {
log.Fatal(err)
}
return value
}
GET 命令获取字符串键的值。 GET 命令不适用于列表键。
我正在用 golang 编写一个函数,通过传递密钥从 redis 数据库中获取值。该值是一个列表。我正在使用 '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)
}
}
输出在这里,
Type list
2015/03/14 19:09:12 WRONGTYPE Operation against a key holding the wrong kind of value
exit status 1
版本
Go 1.4.2
Redis-2.8.19
Redis Go 库
github.com/garyburd/redigo/redis
谁能帮我解决这个问题。?谢谢
使用LRANGE获取列表的元素:
func GetValues(key string) []string {
value, err := redis.Strings(conn.Do("LRANGE", key, 0, -1))
if err != nil {
log.Fatal(err)
}
return value
}
GET 命令获取字符串键的值。 GET 命令不适用于列表键。