복붙노트

[REDIS] 값이 목록에 이미 레디 스에 존재하는지 확인

REDIS

값이 목록에 이미 레디 스에 존재하는지 확인

키가 이미 레디 스리스트에 존재하는지 확인하는 방법이 있는지 궁금하네요?

내가 고유성을 적용하지 않기 때문에 나는 세트를 사용할 수 없지만 문자열이 실제로이 있다면 확인 할 수 있도록하려면 않습니다.

감사.

해결법

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

    1.다음과 같은 옵션은 다음과 같습니다

    다음과 같은 옵션은 다음과 같습니다

    레디 스 목록 따라서, http://en.wikipedia.org/wiki/Linked_list로 제한 구현된다.

    나는 당신의 최선의 선택이 중복 SET를 유지하고있다 생각합니다. 이것은 내가하는 경향 것입니다. 그냥 별도의 인덱스로 생각합니다. 에 관계없이, 당신의 행동은 MULTI-EXEC 또는 루아 스크립트 원자되어 있는지 확인합니다.

  2. ==============================

    2.목록은 중복 허용하지만 존재를 확인하는 간단한 방법을 제공하지 않으며 @Fritzy가 당신에게 하나의 필요성을 조언으로 :

    목록은 중복 허용하지만 존재를 확인하는 간단한 방법을 제공하지 않으며 @Fritzy가 당신에게 하나의 필요성을 조언으로 :

    해시의 자연 및 인덱싱 회원 나는 아무도 중 하나 이중성을 허용하는 장점을 결합 해시 테이블 또는 소트 세트 (소트 세트 - - 해시 테이블, 또는 점수 값으로 요소의 수를 저장하여) 사용을 권장하지 놀라게하고있다 테이블 / 세트.

    중요한 존재를 확인하기 위해, 지정된 구성원이 존재하지 않는 경우 0을 반환 특정 필드에 대한 사용 HEXISTS. 또한 HGETcommand를 사용할 수 있습니다. 지정된 구성원이 존재하지 않는 경우는 전무 답을 반환합니다.

    새 멤버를 추가하려면 두 값 (멤버 이름을 가진 요소 즉, 수) 업데이트하거나 존재하지 않는 경우 새 멤버를 만들 것이다 HINCRBY를 사용합니다.

    중요한 존재, 사용 확인하려면 중 다음 세 가지 명령 중 하나 :

    지정된 구성원이 존재하지 않는 경우 그들은 전무 대답을 반환합니다.

    새 멤버를 추가하려면 두 점수 (멤버 이름을 가진 요소 즉, 수) 업데이트하거나 존재하지 않는 경우 새 멤버를 만들 것이다 ZINCRBY를 사용합니다.

    요약하면 : 정렬 된 세트 또는 해시 테이블이 단일 명령을 사용하여 요구 사항을 모든 작업을 할 수 있습니다.

  3. ==============================

    3.나는 아무도 완벽하게 문제를 해결 세트를 언급 없음을 놀라게하고있다. 값이 키의 구성원 인 경우에 세트 sismember 키 값을 이용하여, 그것을 확인한다. 다음은 예입니다 :

    나는 아무도 완벽하게 문제를 해결 세트를 언급 없음을 놀라게하고있다. 값이 키의 구성원 인 경우에 세트 sismember 키 값을 이용하여, 그것을 확인한다. 다음은 예입니다 :

    redis 127.0.0.1:6379> SADD myset1 "hello"
    (integer) 1
    redis 127.0.0.1:6379> SISMEMBER myset1 "hello"
    (integer) 1
    redis 127.0.0.1:6379> SISMEMBER myset1 "world"
    (integer) 0
    
  4. ==============================

    4.아니, 레디 스리스트가 주어진 값이 포함되어 있는지 확인하는 방법은 없습니다. 참조 레디 스 목록 명령을 참조하십시오.

    아니, 레디 스리스트가 주어진 값이 포함되어 있는지 확인하는 방법은 없습니다. 참조 레디 스 목록 명령을 참조하십시오.

    난 당신 (하려고)에 LREM를 사용하는 값을 제거하고, 제거 된 경우 확인하기 위해 반환 값을 확인할 수 있습니다 같아요. 그러나 당신은 다시 넣어 것, 이것은 불확실한 것으로 보인다. 당신이 달성하려고하는 것 - 문제에 대한 몇 가지 더 나은 솔루션은 아마이있다?

  5. from https://stackoverflow.com/questions/9312838/checking-if-a-value-exists-in-a-list-already-redis by cc-by-sa and MIT license