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, тогда ключи результата будут CO:1:A, CO:2:A
и CO:4:A
Как это получить?
Redis не является реляционной базой данных. Вы должны предвидеть этот путь доступа и поддерживать обратный индекс.
# 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