sql >> Databáze >  >> NoSQL >> Redis

Průnik dvou nebo více seřazených množin

Nejprve byste měli zkontrolovat, který ZSET má méně prvků se ZCARD a naklonujte a ořízněte ten kratší.

Za druhé, necháváte 2 zbytky. Můžete znovu použít stejný pomocný ZSET pro rychlejší čištění.

Také jsem chtěl navrhnout DUMP a RESTORE pro klon, ale pro tříděné sady je případ ZUNIONSTORE ve skutečnosti mnohem rychlejší. Zde je načasování obou pro sadu 1M prvků:

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. Určení, proč Redis dostává SIGTERM každou minutu nebo dvě

  2. Najděte největší velikost dokumentu v MongoDB

  3. Odeberte pole ze všech prvků v poli v mongodb

  4. Jak ConnectionMultiplexer řeší odpojení?