How do you search for keys with a value? For example get all KEYS where the value is “somevalue”

后端 未结 1 1398
悲哀的现实
悲哀的现实 2021-01-03 12:23
   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\         


        
相关标签:
1条回答
  • 2021-01-03 12:41

    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
    
    0 讨论(0)
提交回复
热议问题