sql >> Databasteknik >  >> NoSQL >> Redis

Alternativ till kapslade strukturer i Redis?

Du har i princip två strategier:

  • du kan serialisera dina komplexa objekt och lagra dem som strängar. Vi föreslår json eller msgpack för serialiseringsformatet. Detta är lätt nog att manipulera från de flesta språk på klientsidan. Om åtkomst på serversidan behövs kan ett Lua-skript på serversidan enkelt koda/avkoda sådana objekt eftersom Redis är kompilerat med msgpack och json-stöd för Lua.

  • du kan dela upp dina objekt i olika nycklar. Istället för att lagra user:id och en komplex datastruktur till detta id, kan du lagra flera nycklar såsom user:id, user:id:address_list, user:id:document_lists, etc ... Om du behöver atomicitet, pipelining MULTI/ EXEC-block kan användas för att garantera datakonsistensen och aggregera tur och retur.

Se ett enkelt exempel i detta svar:

Kommer kommandot LPUSH att fungera på en post som initierats från JSON?

Slutligen är Redis inte en dokumentorienterad databas. Om du verkligen har många komplexa dokument, kanske du skulle kunna vara bättre betjänt av lösningar som MongoDB, ArangoDB, CouchDB, Couchbase, etc ...



  1. RDBTools har köpts upp av RedisLabs!

  2. Hur man serialiserar en karta i Java för att lagra i Redis?

  3. Mongo Query med Regex i Node JS som arbetar PÅ EN VARIABEL

  4. Lyssna efter ändringar i redis-listan