在redis我有一个分支(cache:id)以及其中的多个散列(例如一些键: cache:123457
, cache:563457
).
条目包含字段: id
-又名主键,和 sign
-只是个标签。
我想在我的redis中搜索并找到所有包含该字段的条目 sign
等于 a
. 表演不是问题。我只需要确认这些条目是否存在。我知道我需要以某种方式遍历所有条目,但找不到正确的命令。我查过了 KEYS
(密钥缓存:*-但下一步是什么?), SCAN
但他们运气不好。在sql中,我将执行以下操作: select * from cache where sing='a'
. 所以我不想扫描键,我想扫描所有条目的字段。
我要怎么做?有什么建议吗?
1条答案
按热度按时间pw136qt21#
redis不像
RDBMs
如果你想问select * from cache where sing='a'
,您可以创建二级索引。当你创建一个新的
hash
,也可以添加到set
命名者hash value
. 我将使用sign
前缀。当你删除散列-也从集合中删除。
当您需要更新散列字段的值时,首先从集合中删除,然后添加到新的集合中