由於Redis嘗試將字符串解析爲64位有符號整數,因此存儲32位有符號整數的二進制表示而不是基數爲10的整數字符串是一個好主意嗎?在Redis中存儲32位有符號整數的內存有效方式
在我們的系統中,我們有許多32位有符號整數ID的列表。
I can store them like
lpush mykey 102450 --> redis cast 102450 to 8 bytes long
or store it like
lpush mykey \x00\x01\x19\x32 ---> this is just 4 bytes
謝謝你的回答。請您解釋一下關於共享內存池的更多信息。所以如果我有一組數字都小於10,000,Redis如何存儲我的設置? – Aresn 2013-04-22 04:39:26
@Aresn - 查看我的回答更新。如果你存儲的整數小於10000,Redis將會非常有效的記憶。 – 2013-04-22 14:33:02
@ sripathi-krishnan你不能指定多少字節用於存儲字符串鍵嗎? 「len()+ 4 + 4 + 1 + 8字節」僅適用於值嗎? 我們需要存儲一個非常大的數據集string(43)=> int並且需要評估音量。無論如何感謝您的信息! – 2013-12-04 18:26:39