복붙노트

[REDIS] 레디 스 필드의 값을 기준으로 해시를 찾는

REDIS

레디 스 필드의 값을 기준으로 해시를 찾는

A "레코드"를 만들기 위해 레디 스를 사용하는 경우 당신은 여러 분야와 해시를 생성 할 수 있습니다. 예를 들면 :

HMSET myhash field1 "Hello" field2 "World"
HMSET myhash2 field1 "Goodbye" field2 "World"

당신은 키 값을 알고하여이를 검색 할 수 있습니다, 그러나 FIELD2에서 "세계"가 모든 해시를 검색 할 수있는 방법이 내가 알고 싶은가?

해결법

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

    1.이 레디 스에는 인덱스가없고, 그것은 SQL을 구현하지 않습니다. 그것은 키 - 값 저장소입니다. 당신은 키, 그것은 당신에게 값을 가져옵니다 제공합니다.

    이 레디 스에는 인덱스가없고, 그것은 SQL을 구현하지 않습니다. 그것은 키 - 값 저장소입니다. 당신은 키, 그것은 당신에게 값을 가져옵니다 제공합니다.

    즉, 보조 인덱스를 직접 유지하여이를 구현할 수있다. 예를 들면 :

    기록 및 색인 항목을 만들

    HMSET myhash field1 Hello field2 World
    SADD field2_world myhash
    

    기록, 삭제 된 인덱스 항목을 업데이트, 새로 만들

    SREM field2_world myhash
    HMSET myhash field2 Mundo
    SADD field2_mundo myhash
    

    FIELD2에서 "세계"가 모든 레코드를 찾을 수

    SMEMBERS field2_world
    

    난 당신이 생각을 바랍니다.

  2. from https://stackoverflow.com/questions/11209613/redis-finding-hashes-by-field-values by cc-by-sa and MIT license