sql >> Databasteknik >  >> NoSQL >> Redis

Hur man får DIFF på sorterat set

Notera:Jag antar att du menade sadd disabled two

Som du har fått reda på, SDIFF fungerar inte på sorterade uppsättningar - det beror på att det inte är trivialt att definiera skillnaden mellan sorterade uppsättningar.

Vad du kan göra är att först skapa en temporär uppsättning med ZUNIONSTORE och ställa in skärningspunktens poäng till 0. Gör sedan ett intervall exklusive 0, t.ex.:

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"



  1. MongoDB - Index används inte vid sortering och begränsning av avståndsfråga

  2. Vad är fördelen med Redis-klustring på olika värdar?

  3. Introduktion till Apache HBase Snapshots, del 2:Deeper Dive

  4. flera instanser av Mongo DB på samma server