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

Redis, hvordan øger man alle scores af et zset med ZINCRBY?

Der er ingen kommando til det, ZINCRBY kan kun øges for 1 medlem ad gangen. Så hvis du ønsker at opnå dette på en atomisk og hurtig måde, skal du lave et Lua-script. Som skulle se sådan ud (først får du alle medlemmer af det sorterede sæt og gentager dem derefter og øger scoren):

local zsetMembers = redis.call('zrange', KEYS[1], '0', '-1') 
for k,member in pairs(zsetMembers) do 
  redis.call('zincrby', KEYS[1], 1, member) 
end

Og du kan skubbe dette script til Redis med EVAL kommando.



  1. Sådan læser du flere sæt gemt på Redis ved hjælp af en kommando eller et LUA-script

  2. Apache HBase + Apache Hadoop + Xceivers

  3. Kan ikke oprette forbindelse til MongoDB på grund af forkert URI

  4. Tjek om der findes et indeks i mongodb