sql >> Databasteknik >  >> NoSQL >> Redis

Arbetar du med kapslade objekt i Redis?

Lua-skript eller ett låsmönster skulle lösa ditt problem.

EVAL 'local obj = cjson.decode(redis.call("GET", "key1")); obj.prop1.subprop1 = ARGV[1]; redis.call("SET", "key1", cjson.encode(obj));' 0 "did_change"

Du kan till och med göra något mer avancerat i Lua för att redigera valfri nyckels JSON-underobjekt om du vill.

Titta på Redis SETNX-kommandodokument för ett exempel på hur man använder ett lås.




  1. Ta bort ett objekt från en kapslad array med $pull och $[identifier] (mongoDB 3.6)

  2. Hur skulle Redis få veta om det måste returnera cachad data eller färsk data från DB

  3. MongoDB - Begränsa resultaten av en fråga

  4. Hur kan jag skapa ett ObjectId med mongoose?