sql >> Database >  >> NoSQL >> Redis

Hoe kan Redis sorteren op twee verschillende gesorteerde sets?

Ervan uitgaande dat article_id is de waarde van uw leden en dat editor_id /day zijn de scores in de respectievelijke gesorteerde set, en uitgaande van elke article_id is aanwezig in beide Gesorteerde sets, u kunt het volgende doen:

ZINTERSTORE t 2 k1 k2 WEIGHTS 100 1 AGGREGATE SUM

Uitleg:

  • t is een tijdelijke sleutel die het resultaat zal bevatten
  • k1 is de gesorteerde set die de editor_id . opslaat
  • k2 is de gesorteerde set die de day . opslaat
  • het gewicht 100 vermenigvuldigt editor_id met 100 (d.w.z. "verschuift" het twee plaatsen naar rechts)
  • de AGGREGATE SUM resulteert in de volgende score:editor_id * 100 + day

Opmerkingen:

  • u kunt ZUNIONSTORE . gebruiken in plaats daarvan voor hetzelfde resultaat
  • het gebruik van gewicht 100 veronderstelt dat day is een 2-cijferige waarde



  1. mangoest schema maken

  2. Mongoimport van JSON-bestand

  3. Hoe scheidt redis de instantie met meerdere gebruikers die op dezelfde server wordt uitgevoerd?

  4. Veilige MongoDB-implementatie op Amazon AWS