Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Cách lấy DIFF trên tập hợp đã sắp xếp

Lưu ý:Tôi cho rằng ý của bạn là sadd disabled two

Như bạn đã tìm hiểu, SDIFF không hoạt động trên các tập hợp đã sắp xếp - đó là bởi vì việc xác định sự khác biệt giữa các tập hợp đã sắp xếp không phải là chuyện nhỏ.

Những gì bạn có thể làm trước tiên là tạo một tập hợp tạm thời với ZUNIONSTORE và đặt điểm của giao điểm thành 0. Sau đó, thực hiện một phạm vi không bao gồm số 0, ví dụ:

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. Cách trực quan hóa việc sử dụng Resque với Node.js, WebSockets và Redis

  2. Cách khởi động redis-server trên một cổng khác với cổng mặc định 6379 trong ubuntu

  3. Khoá cửa hàng Redis không có giá trị

  4. Redis - Tên người dùng, mật khẩu và db?

  5. Chiến lược tốt nhất để đồng bộ dữ liệu Redis với MySQL là gì?