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

Redis værdiopdatering

Der er et par muligheder:

  1. Her er noget pseudokode til at gøre dette med Redis 2.6 Lua scripting.

    for userid in users:
        EVAL 'local obj = cjson.decode(redis.call("GET", KEY[1])); obj.subobj.newjsonkey = ARGV[1]; redis.call("SET", KEY[1], cjson.encode(obj));' 1 userid "new value!"
    
  2. Bortset fra det, skal du muligvis stoppe tjenesten og gøre dette med GET'er og SET'er, da du sandsynligvis ikke har en låsemekanisme på plads. Hvis du kan gennemtvinge en lås, se http://redis.io/commands/setnx

  3. Der er et par værktøjer til at opdatere en rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Bemærk, dette svar blev tilpasset mit svar på:Arbejde med indlejrede objekter i Redis?




  1. hvordan man konfigurerer forskellige ttl for hver redis cache, når man bruger @cacheable i springboot2.0

  2. dvale cache på andet niveau med Redis - vil det forbedre ydeevnen?

  3. Få den seneste rekord fra mongodb collection

  4. Spor MongoDB ydeevne?