盡可能使用散列表(hashes)筐付,散列表(是說散列表里面存儲的數少)使用的內存非常小卵惦,所以你應該盡可能的將你的數據模型抽象到一個散列表里面。
比如你的web系統中有一個用戶對象瓦戚,不要為這個用戶的名稱沮尿,姓氏,郵箱较解,密碼設置單獨的key,而是應該把這個用戶的所有信息存儲到一張散列表里面畜疾。
Redis回收進程如何工作的?
一個客戶端運行了新的命令哨坪,添加了新的數據庸疾。
Redi檢查內存使用情況,如果大于maxmemory的限制, 則根據設定好的策略進行回收当编。
一個新的命令被執(zhí)行,等等徒溪。
所以我們不斷地穿越內存限制的邊界忿偷,通過不斷達到邊界然后不斷地回收回到邊界以下。
如果一個命令的結果導致大量內存被使用(例如很大的集合的交集保存到一個新的鍵)臊泌,不用多久內存限制就會被這個內存使用量超越鲤桥。