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

Jak může Redis třídit podle dvou různých seřazených sad?

Za předpokladu, že article_id je hodnota vašich členů a toto editor_id /day jsou skóre v příslušné tříděné sadě a za předpokladu, že každý article_id je přítomen v obě Seřazené sady, můžete provést následující:

ZINTERSTORE t 2 k1 k2 WEIGHTS 100 1 AGGREGATE SUM

Vysvětlení:

  • t je dočasný klíč, který bude obsahovat výsledek
  • k1 je Seřazená sada, která ukládá editor_id
  • k2 je Seřazená sada, která ukládá day
  • váha 100 se vynásobí hodnotou editor_id o 100 (tj. „posune“ jej o dvě místa doprava)
  • AGGREGATE SUM výsledkem je následující skóre:editor_id * 100 + day

Poznámky:

  • můžete použít ZUNIONSTORE místo toho pro stejný výsledek
  • použití váhy 100 předpokládá day je 2místná hodnota



  1. Node.js + mongoose najít zamrzne uzel, když více než 100 výsledků

  2. Komunikace mezi dvěma kontejnery Docker na macOS 10.12

  3. Instalace Redis na Ubuntu 16.04/18.04

  4. Jak nasadit MongoDB pro vysokou dostupnost