Pada dasarnya Anda memiliki dua strategi:
-
Anda dapat membuat serial objek kompleks Anda dan menyimpannya sebagai string. Kami menyarankan json atau msgpack untuk format serialisasi. Ini cukup mudah untuk dimanipulasi dari sebagian besar bahasa sisi klien. Jika akses sisi server diperlukan, maka skrip Lua sisi server dapat dengan mudah mengkodekan/mendekode objek tersebut karena Redis dikompilasi dengan dukungan msgpack dan json untuk Lua.
-
Anda dapat membagi objek Anda dalam kunci yang berbeda. Alih-alih menyimpan user:id dan struktur data yang kompleks ke id ini, Anda dapat menyimpan beberapa kunci seperti user:id, user:id:address_list, user:id:document_lists, dll ... Jika Anda membutuhkan atomicity, pipelining MULTI/ Blok EXEC dapat digunakan untuk menjamin konsistensi data, dan menggabungkan perjalanan pulang pergi.
Lihat contoh sederhana dalam jawaban ini:
Akankah perintah LPUSH bekerja pada record yang diinisialisasi dari JSON?
Akhirnya, Redis bukan database berorientasi dokumen. Jika Anda benar-benar memiliki banyak dokumen kompleks, mungkin Anda bisa lebih baik dilayani oleh solusi seperti MongoDB, ArangoDB, CouchDB, Couchbase, dll ...