Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Aktualisierung des Redis-Werts

Es gibt ein paar Möglichkeiten:

  1. Hier ist ein Pseudo-Code, um dies mit Redis 2.6 Lua-Skripting zu tun.

    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. Darüber hinaus müssen Sie möglicherweise den Dienst stoppen und dies mit GETs und SETs tun, da Sie wahrscheinlich keinen Sperrmechanismus eingerichtet haben. Wenn Sie eine Sperre erzwingen können, siehe http://redis.io/commands/setnx

  3. Es gibt ein paar Tools zum Aktualisieren einer RDB. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Beachten Sie, dass diese Antwort an meine Antwort angepasst wurde:Arbeiten mit verschachtelten Objekten in Redis?