redis如何根据values取出keys

hset test1 link "http://example.com"
hset test1 is_working 0
hset test2 link "http://anotherexample.com"
hset test2 is_working 1
hset test3 link "http://blabla.com"
hset test3 is_working 0
...

我想取出所有is_working等于0的所有keys(这里是test1和test3), 有办法实现吗?

阅读 14.1k
4 个回答

Redis接口中未提供根据value查询key的方法,Redis着重于高速读写,对数据查询方面表现极差,如果需要对数据进行查询,不建议使用Redis。

有一个比较笨的方案,额外再耗费一些内存,来存储is_working的每个值对应的key都存储一个set里面,这样就可以快速取出is_working为1的key了。

楼上说是比较笨的方法。。实际上这也就是用redis做类似工作需要用的方法。。。

建议LZ去看一下redis in action

里面会有一些这种常见的开发实例在用redis时如何设计

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题