Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Atualização do valor do Redis


Existem algumas possibilidades:

  1. Aqui está um pseudocódigo para fazer isso com o script Redis 2.6 Lua.
    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. Fora isso, você pode precisar interromper o serviço e fazer isso com GETs e SETs, pois provavelmente não possui um mecanismo de bloqueio. Se você puder impor um bloqueio, consulte http://redis.io/commands/setnx

  3. Existem algumas ferramentas para atualizar um rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Observe que esta resposta foi adaptada à minha resposta para:Trabalhando com objetos aninhados no Redis?