sql >> Databasteknik >  >> NoSQL >> Redis

Redis värdeuppdatering

Det finns några möjligheter:

  1. Här är lite pseudokod för att göra detta med Redis 2.6 Lua-skript.

    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. Kort av det kan du behöva stoppa tjänsten och göra detta med GETs och SETs eftersom du förmodligen inte har en låsmekanism på plats. Om du kan tvinga fram ett lås, se http://redis.io/commands/setnx

  3. Det finns några verktyg för att uppdatera en rdb. https://github.com/sripathikrishnan/redis-rdb-tools https://github.com/nrk/redis-rdb

Obs, det här svaret anpassades till mitt svar på:Arbeta med kapslade objekt i Redis?




  1. Django Celery kan inte fråga postgres db inuti uppgiften

  2. Redis - Använder Incr-värde i en transaktion

  3. Stöder mongoklien en formel-URL för Apple M1-chips?

  4. Topp 10 funktioner i Big Data Hadoop