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

Giao điểm của hai hoặc nhiều tập hợp được sắp xếp

Trước tiên, bạn nên kiểm tra ZSET nào có ít phần tử hơn với ZCARD và sao chép và cắt bớt phần tử ngắn hơn.

Thứ hai, bạn đang bỏ đi 2 thức ăn thừa. Bạn có thể sử dụng lại cùng một ZSET bổ trợ để dọn dẹp nhanh hơn.

Tôi cũng muốn đề xuất DUMP và RESTORE cho bản sao, nhưng đối với trường hợp tập hợp được sắp xếp, ZUNIONSTORE thực sự nhanh hơn nhiều. Dưới đây là thời gian của cả hai cho tập hợp 1 phần tử:

1) 1) (integer) 14
   2) (integer) 1444165498
   3) (integer) 936762
   4) Complexity info: N:1000000,M:1000000
   5) 1) "ZUNIONSTORE"
      2) "temp3"
      3) "1"
      4) "temp1"
      5) "WEIGHTS"
      6) "1"
2) 1) (integer) 13
   2) (integer) 1444165421
   3) (integer) 3166360
   4)
   5) 1) "evalsha"
      2) "48286113cfe4b389d516e98646e5f4e086decc34"
      3) "2"
      4) "temp1"
      5) "temp2"
      6) "0"


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chiến lược tốt nhất để đồng bộ dữ liệu Redis với MySQL là gì?

  2. Laravel Echo Server, Redis, Socket.IO:Dường như không thể làm cho chúng hoạt động

  3. Xác định lý do tại sao Redis nhận được SIGTERM mỗi phút hoặc hai phút

  4. Làm cách nào để sử dụng hợp lý các nhóm kết nối trong redis?

  5. Kiến trúc cho bộ nhớ cache Redis và Mongo cho sự bền bỉ