在redis中散列哈希
Posted
技术标签:
【中文标题】在redis中散列哈希【英文标题】:Hashing a hash in redis 【发布时间】:2021-07-01 10:10:35 【问题描述】:我一直在阅读我在redis中不能有嵌套数据结构,而包含的唯一方法是创建一个引用 给它。
如果我理解正确,在 redis 中创建 通用结构 的方法是:
hmset ARandomStringAsAKey name kostas address milky_way
我尝试以这种方式存储 哈希:
hmset ReferenceTest name kostas ref ARandomStringAsAKey
然后尝试通过以下方式取回它:
hget ReferenceTest ref
但我唯一得到的是一个字符串,上面写着ARandomKeyAsAString
。
我怎么可能这样做?
提前致谢!
【问题讨论】:
【参考方案1】:你无法通过hget ReferenceTest ref
得到你想要的。
你应该:
-
通过
hget ReferenceTest ref
获取密钥
通过返回值获取真实数据(ARandomKeyAsAString
)
127.0.0.1:6379> hmget ReferenceTest ref
1) "ARandomStringAsAKey"
127.0.0.1:6379> hgetall ARandomStringAsAKey
1) "name"
2) "kostas"
3) "address"
4) "milky_way"
顺便说一句:我们不会这样存储数据,我们将name kostas address milky_way
转换成一个json字符串,然后存储。
127.0.0.1:6379> hmset ReferenceTest name kostas data "\"name\":\"kostas\",\"address\": \"milky_way\""
OK
127.0.0.1:6379> hget ReferenceTest data
"\"name\":\"kostas\",\"address\": \"milky_way\""
127.0.0.1:6379>
【讨论】:
以上是关于在redis中散列哈希的主要内容,如果未能解决你的问题,请参考以下文章