我使用 Redis 和 ruby。有记录:
"phones:initial:#{id}"
redis.hset "phones:initial:1", "query", query
redis.hset "phones:initial:2", "query", query
redis.hset "phones:initial:3", "query", query
redis.hset "phones:initial:4", "query", query
...
是否可以获取key,其中id对应一个表达式?
"phones:initial: and id % m = n
最佳答案
不,没有内置方法可以做到这一点。您必须使用 SCAN
命令迭代所有键,并选择与给定模式匹配的键。
但是,如果您始终对表达式使用相同的 m
,则可以为每个 id
预先计算 n
,并使 n
作为 key 的一部分。这样,您就可以使用 Redis 的模式匹配来获取那些特定的键。
例如,假设m == 2
,您可以拥有以下新键:phones:initial:1:1
、phones:initial:0 :2
,phones:initial:1:3
,phones:initial:0:4
。要获取匹配 phones:initial: 和 id % 2 == 0
的 key ,请使用以下命令:SCAN 0 MATCH phones:initial:0:*
关于Redis - 键、表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42044907/