sql >> Database teknologi >  >> NoSQL >> Redis

Sådan får du DIFF på sorteret sæt

Bemærk:Jeg går ud fra, at du har ment sadd disabled two

Som du har fundet ud af, SDIFF fungerer ikke på sorterede sæt - det er fordi det ikke er trivielt at definere forskellen mellem sorterede sæt.

Det, du kan gøre, er først at oprette et midlertidigt sæt med ZUNIONSTORE og sætte krydsets score til 0. Lav derefter et interval, der ekskluderer 0, f.eks.:

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. Få seneste MongoDB-rekord efter felt af dato og klokkeslæt

  2. 8 måder at få dagen fra en date på i MongoDB

  3. Hvad er forskellen mellem area og BoundingBox fra Redis's kildekode

  4. Brug af .sort med PyMongo