sql >> Database teknologi >  >> NoSQL >> Redis

Hvordan kan Redis sortere efter to forskellige sorterede sæt?

Forudsat at article_id er dine medlemmers værdi og det editor_id /day er scorerne i det respektive sorterede sæt, og under forudsætning af hver article_id er til stede i begge Sorterede sæt, du kan gøre følgende:

ZINTERSTORE t 2 k1 k2 WEIGHTS 100 1 AGGREGATE SUM

Forklaring:

  • t er en midlertidig nøgle, der holder resultatet
  • k1 er det sorterede sæt, der gemmer editor_id
  • k2 er det sorterede sæt, der gemmer day
  • vægten 100 multiplicerer editor_id med 100 (dvs. "skifter" den to steder til højre)
  • den AGGREGATE SUM resulterer i følgende score:editor_id * 100 + day

Bemærkninger:

  • du kan bruge ZUNIONSTORE i stedet for det samme resultat
  • brugen af ​​vægt 100 forudsætter den day er en 2-cifret værdi



  1. MongoDB C# Query Array af objekter, der indeholder en egenskabsværdi

  2. Hvordan installerer man php-redis-udvidelsen ved hjælp af den officielle PHP Docker-image-tilgang?

  3. Hvordan finder man ubrugte indekser i MongoDB?

  4. Custom Cascading i Spring Data MongoDB