sql >> Database >  >> NoSQL >> Redis

Redis-waarde-update

Er zijn een paar mogelijkheden:

  1. Hier is wat pseudo-code om dit te doen met 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. Afgezien daarvan moet u mogelijk de service stoppen en dit doen met GET's en SET's, omdat u waarschijnlijk geen vergrendelingsmechanisme hebt. Als u een vergrendeling kunt afdwingen, zie http://redis.io/commands/setnx

  3. Er zijn een paar hulpmiddelen voor het bijwerken van een rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Let op, dit antwoord is aangepast aan mijn antwoord op:Werken met geneste objecten in Redis?




  1. Redis-gedrag met meerdere gelijktijdige programma's die lezen/verwijderen op dezelfde hash-sleutel

  2. MongoDB - paging

  3. problemen om verbinding te maken met redis om bij meerdere worker-kues te passen

  4. Haal de maandnaam uit een datum in SQL