caching - Redis 搜索等于某个值的匹配键

标签 caching redis key-value

好的,在 REDIS 中,如果我只是想设置 keys = a channel name 和 value = 付费或免费...

所以最终我会得到一个包含 100、1000 等键和值的列表,其中 key 的值(value)将被支付或免费。

     channelName, paid or free

所以,那我想来找找 并要求数据库给我所有值(value) = 免费的 channel

设置它的最佳方式/有效方式是什么?

我基本上想查询并返回等于列表或字典中特定值的所有键的列表...

最佳答案

您可以使用 sorted sets , 成员值为 0(免费)或 1(付费)。

在单个键中,您可以存储有序集合的成员,并且每个成员都被赋予一个十进制值。将 freepaid 抽象为 01 值,您可以添加成员(即在您的情况下, channels) 到集合中,然后查询这些。

127.0.0.1:6379> ZADD mychannels 0 1stchannel 1 2ndchannel 1 3rdchannel 0 4thchannel
(integer) 4
127.0.0.1:6379> ZRANGEBYSCORE mychannels 0 0 /* Querying free channels */
1) "1stchannel"
2) "4thchannel"
127.0.0.1:6379> ZRANGEBYSCORE mychannels 1 1 /* Querying paid channels */
1) "2ndchannel"
2) "3rdchannel"

关于caching - Redis 搜索等于某个值的匹配键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21474679/

相关文章:

redis - 如何检查 Redis 数据库生产环境中所有 key 的过期时间

java - Caused by : java. lang.IllegalArgumentException : CONTAINING (1): [IsContaining, Containing, Contains]不支持redis查询推导-Redis

python - 使用 SQLite 作为键 :value store

javascript - 显示缓存中存储的内容

javascript - jQuery 选择器缓存问题

php - 从 Redis 哈希中获取随机/任意值

javascript - 如何在 Javascript 中仅过滤常见对象值

jquery - JSON 转字符串,无需在键中添加引号

multithreading - 缓存一致性在多核和多处理器架构中如何工作?

django - 如何在 Django 中通过 HTTPResponse 返回缓存的 JSON 数据?