我已将列表保存到哈希中,但无法弄清楚如何检索哈希的内容。首先,这里有一些代码来创建列表:
127.0.0.1:6379> LPUSH list1 'dc:39:79:ab:cd:ef'
(integer) 1
127.0.0.1:6379> LPUSH list1 '2014-07-21'
(integer) 2
127.0.0.1:6379> LPUSH list1 'Success'
(integer) 3
127.0.0.1:6379> LPUSH list1 'Miscellaneous notes about the install. Can be as long as you want'
(integer) 4
现在我创建一个哈希并将一个键的值赋给list1:
127.0.0.1:6379> hset hash 'RKT1234' list1
(integer) 1
如何打印保存在哈希[' RKT1234']中的整个列表?
127.0.0.1:6379> hgetall hash
1) "RKT1234"
2) "list1"
127.0.0.1:6379> hvals hash
1) "list1"
感谢
答案 0 :(得分:1)
您似乎试图将列表存储为哈希值。由于Redis不支持嵌套数据结构,因此您没有按照自己的想法进行操作。在hset hash 'RKT1234' list1
中,您不存储列表,只是字符串名称:“list1”。
为了获取列表的内容,您需要首先从哈希中获取列表的名称,然后在第二次调用中获取列表的内容。
所以你的序列看起来像这样:
# returns "list1"
hvals hash
lrange list1 0 -1
# returns the contents of list1
干杯