dongzhuo7291 2013-07-23 09:17 采纳率: 100%
浏览 60

你如何搜索有价值的键? 例如,获取值为“somevalue”的所有KEYS

   redis> SMEMBERS CO:1:A
    1) "1"
    2) "2"

   redis> SMEMBERS CO:2:A
    1) "1"
    2) "5"
    3) "6"

   redis> SMEMBERS CO:3:A
    1) "5"

   redis> SMEMBERS CO:4:A
    1) "1"

Now I want to find the keys where the value 1 exist

If I search with the values 1 then the result keys will be CO:1:A, CO:2:A and CO:4:A

How to get This?

  • 写回答

1条回答 默认 最新

  • douzhui8531 2013-07-23 12:25
    关注

    Redis is not a relational database. You need to anticipate this access path, and maintain a reverse index.

    # This is your index
    SADD CO:1:A 1 2
    SADD CO:2:A 1 5 6
    SADD CO:3:A 5
    SADD CO:4:A 1
    
    # Here is the reverse index
    SADD REV:1 1 2 4
    SADD REV:2 1
    SADD REV:5 2 3
    SADD REV:6 2
    

    Now you can query in reverse way:

    SMEMBERS REV:1
    1) "1"
    2) "2"
    3) "4"
    ... meaning CO:1:A. CO:2:A, CO:4:A
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?