[REDIS] 소트 세트에 DIFF를 얻는 방법
REDIS소트 세트에 DIFF를 얻는 방법
어떻게 소트 세트에서 대부분의 가중 요소를 얻을 수 있지만, 또 다른 세트 (또는 목록 또는 해시)에있는 사람들을 제외 않습니다.
>zadd all 1 one
>zadd all 2 two
>zadd all 3 three
>sadd disabled 2
>sdiff all disabled
(error) WRONGTYPE Operation against a key holding the wrong kind of value
내 유일한 옵션은 소트 세트 하나씩에서 요소를 얻을 "장애인"항목 목록에 비교하는 것이다인가? 하지 않을까요 매우 느린 때문에 서버에 많은 트랜잭션 그래서?
여기에 방법은 무엇입니까?
해결법
-
==============================
1.참고 : 나는 당신을 가정 두 장애인 사드 의미 한
참고 : 나는 당신을 가정 두 장애인 사드 의미 한
정렬 된 세트 사이의 차이를 정의하는 것은 사소한하지 않기 때문에 - 당신이 발견 한 것처럼, 아니면 sdiff는 정렬 된 세트에서 작동하지 않습니다.
먼저 다음 범위 예컨대, 0을 제외 할 ZUNIONSTORE와 임시 세트를 만들고 0으로 교차의 점수를 설정 무엇을 할 수 있습니다 :
127.0.0.1:6379> ZADD all 1 one 2 two 3 three (integer) 3 127.0.0.1:6379> SADD disabled two (integer) 1 127.0.0.1:6379> ZUNIONSTORE tmp 2 all disabled WEIGHTS 1 0 AGGREGATE MIN (integer) 3 127.0.0.1:6379> ZREVRANGEBYSCORE tmp +inf 1 WITHSCORES 1) "three" 2) "3" 3) "one" 4) "1"
from https://stackoverflow.com/questions/26698179/how-to-get-diff-on-sorted-set by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 스크립트 전역 변수를 작성하려고 (0) | 2020.01.06 |
---|---|
[REDIS] Node.js를하고 socket.io와 레디 스의 인증 오류 (0) | 2020.01.06 |
[REDIS] MongoDB를하고 레디 스처럼 푸른 지원 일을합니까? (0) | 2020.01.06 |
[REDIS] Heroku가에 Redistogo 및 Sidekiq : 캔 연결하지 (0) | 2020.01.06 |
[REDIS] 최신 잡는 유지하는 방법 (0) | 2020.01.06 |