sql >> Base de Datos >  >> NoSQL >> Redis

Actualización del valor de Redis

Hay algunas posibilidades:

  1. Aquí hay un pseudocódigo para hacer esto con secuencias de comandos 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. Aparte de eso, es posible que deba detener el servicio y hacer esto con GET y SET, ya que probablemente no tenga un mecanismo de bloqueo en su lugar. Si puede aplicar un bloqueo, consulte http://redis.io/commands/setnx

  3. Hay algunas herramientas para actualizar un rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Tenga en cuenta que esta respuesta se adaptó a mi respuesta a:¿Trabajar con objetos anidados en Redis?