http://www.infoq.com/presentations/newport-evolving-key-value-programming-model是一個關於KV存儲的視頻,整個前提是redis提供了一種基於列的樣式,用於將對象的屬性存儲在單獨的鍵下,而不是串行化對象並將其存儲在單鍵。可擴展對象的關鍵值存儲區
(這個問題不 Redis的特異性,但更多的是一般的風格和一般KV存儲最佳實踐。)
相反,比如說,一個「人」一個斑點,Redis的鼓勵一基於列的樣式,其中對象中的屬性存儲爲單獨的鍵,例如
R.set("U:123:firstname","Billy")
R.set("U:123:surname","Newport")
...
我很好奇,如果這是最佳實踐,並且人們採取不同的方法。
例如,你可以在一個鍵下「醃」一個物體。這樣做的優勢的被獲取或設置在一個請求
或者一個人可能是一個列表與第一項作爲一個字段名索引或這樣?
這讓我想 - 我想要一個分級密鑰存儲,例如
R.set(["U:123","firstname"],"Billy")
R.set(["U:123","surname"],"Newport")
R.get(["U:123"]) returns [("firstname","Billy"),("surname","Newport")]
然後在交易補充:
with(R.get(["U:132"]) as user):
user.set("firstname","Paul")
user.set("lastname","Simon")
從比例的角度來看,獲取並設置將是重要的配料?
有沒有支持這個或有其他適用的方法的關鍵商店?