Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Cara mendapatkan DIFF pada set yang diurutkan

Catatan:Saya berasumsi maksud Anda sadd disabled two

Seperti yang Anda ketahui, SDIFF tidak beroperasi pada set yang diurutkan - itu karena mendefinisikan perbedaan antara set yang diurutkan bukanlah hal yang sepele.

Yang dapat Anda lakukan adalah pertama-tama membuat himpunan sementara dengan ZUNIONSTORE dan menyetel skor perpotongan ke 0. Kemudian lakukan rentang yang mengecualikan 0, mis.:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Haruskah saya selalu menggunakan pipelining ketika ada lebih dari 1 perintah di Redis?

  2. Bagaimana cara mengembalikan flask render_template setelah pekerjaan latar belakang Redis selesai?

  3. Interaksi Python Redis

  4. Bisakah redis menyalurkan beberapa perintah yang bergantung pada yang sebelumnya?

  5. Alternatif untuk Struktur Bersarang di Redis?