redis - 查看保存到 redis 哈希中的列表

标签 redis

我已将列表保存到散列中,但不知道如何检索散列的内容。首先,这里是一些创建列表的代码:

127.0.0.1:6379> LPUSH list1 'dc:39:79:ab:cd:ef' (整数)1 127.0.0.1:6379> LPUSH list1 '2014-07-21' (整数)2 127.0.0.1:6379> LPUSH list1 '成功' (整数)3 127.0.0.1:6379> LPUSH list1 '关于安装的杂项说明。可以随心所欲' (整数)4

现在我创建一个散列并将一个键的值分配给 list1:

127.0.0.1:6379> hset hash 'RKT1234' list1 (整数)1

如何打印保存在 hash['RKT1234'] 中的整个列表?

127.0.0.1:6379> hgetall 哈希 1)“RKT1234” 2) "list1"

127.0.0.1:6379> hvals 哈希 1)“列表1”

谢谢

最佳答案

看起来您正在尝试将列表存储为散列中的值。由于 Redis 不支持嵌套数据结构,因此您没有按照自己的想法行事。在 hset hash 'RKT1234' list1 中,您没有存储列表,只是一个字符串名称:“list1”。

为了获取列表的内容,您需要先从哈希中获取列表的名称,然后在第二次调用中获取列表的内容。

所以你的序列看起来像这样:

# returns "list1"
hvals hash 
lrange list1 0 -1
# returns the contents of list1

干杯

关于redis - 查看保存到 redis 哈希中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872664/

相关文章:

Node.JS + SQL Server + MongoDB + 云上的 Redis

redis - 初学者 Redis 命令

java - node.js 和 Scala (Java) 之间的连接器

redis - 子进程如何更新父进程中的变量?

php - Docker Redis 连接被拒绝

redis - 对 Sorted Set 中特定项的分数求和

redis - SETNX 真的是原子的吗?

laravel - 缓存 Redis 'Exception',消息为 'Serialization of ' Closure' is not allowed'

java - 用于分发(分片)集合(如列表、集合等)键的任何解决方法

node.js - 收到新订阅者时 rs/pushd 崩溃