sql >> Database >  >> NoSQL >> Redis

Redis:Hoe kan ik een normale set doorsnijden met een gesorteerde set?

Er is een eenvoudige oplossing voor uw probleem:ZINTERSTORE werkt met een SET en een ZSET . Probeer:

redis> sadd foo a
(integer) 1
redis> zadd bar 1 a
(integer) 1
redis> zadd bar 2 b
(integer) 1
redis> zinterstore baz 2 foo bar AGGREGATE MAX
(integer) 1
redis> zrange baz 0 -1 withscores
1) "a"
2) "1"

Bewerken: Ik heb AGGREGATE MAX toegevoegd hierboven, aangezien redis elk lid van de (niet-gesorteerde) set foo . geeft een standaardscore van 1 , en SUM dat met welke score het ook heeft in de (gesorteerde) set bar .




  1. Mongoose TypeError:Gebruiker is geen constructor

  2. Een MessagePacked-hash opslaan in Redis

  3. Redis sub/pub en php/nodejs

  4. JavaScript-ontwerppatronen -- Omgaan met ongewenste asynchronie