복붙노트

[REDIS] 어떻게 값이 키를 검색 할 수 있습니까? 예를 들어 값이 "someValue와"모든 열쇠를 얻을 수

REDIS

어떻게 값이 키를 검색 할 수 있습니까? 예를 들어 값이 "someValue와"모든 열쇠를 얻을 수

   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"

지금은 열쇠를 찾을하려는 값 1 존재

1 : 내가 값을 1로 검색 할 경우, 결과 키는 CO됩니다 A, CO : 2 : A와 CO : 4 :

이를 어떻게 얻을 수 있습니까?

해결법

  1. ==============================

    1.레디 스 관계형 데이터베이스가 아닙니다. 이 액세스 경로를 예측하고, 역 인덱스를 유지해야합니다.

    레디 스 관계형 데이터베이스가 아닙니다. 이 액세스 경로를 예측하고, 역 인덱스를 유지해야합니다.

    # 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
    

    지금 당신은 반대 방법으로 조회 할 수 있습니다 :

    SMEMBERS REV:1
    1) "1"
    2) "2"
    3) "4"
    ... meaning CO:1:A. CO:2:A, CO:4:A
    
  2. from https://stackoverflow.com/questions/17806115/how-do-you-search-for-keys-with-a-value-for-example-get-all-keys-where-the-valu by cc-by-sa and MIT license