Redis
 sql >> база данни >  >> NoSQL >> Redis

Пресечна точка на две или повече сортирани множества

Първо трябва да проверите кой ZSET има по-малко елементи със ZCARD и клонирайте и изрежете по-късия.

Второ, оставяте 2 остатъка. Можете да използвате повторно същия спомагателен ZSET за по-бързо почистване.

Също така исках да предложа DUMP и RESTORE за клонинга, но за сортираните набори случая ZUNIONSTORE всъщност е много по-бърз. Ето времето и на двете за набор от 1M елементи:

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. Jest и Redis (проблем с модулни тестове с кеша на базата данни)

  2. С Redis Cluster възможно ли е просто да се предадат хеш тагове на eval?

  3. Как да настроите Redis в персонализирано пространство от имена като кеш и MQ в уеб приложение на ServiceStack с помощта на Structuremap

  4. Проблем с връзката с Redis при пружинното зареждане на Docker compose

  5. Как да стартирам Redis на Windows?