我對Redis頗爲陌生,在使用之前我想學習一些重要的細節(如我)。所以......Redis - 數據大小是否可以大於內存大小?
Redis正在使用RAM和HDD來存儲數據。 RAM用作快速讀/寫存儲器,HDD用於使數據持久。當Redis啓動時,它會將所有數據從硬盤加載到RAM中,或者只將經常查詢的數據加載到RAM中?如果我在硬盤上安裝了500Mb Redis存儲器,但Redis只有100Mb或RAM。我在哪裏可以讀到它?
謝謝
PS:對不起,我的英語
我對Redis頗爲陌生,在使用之前我想學習一些重要的細節(如我)。所以......Redis - 數據大小是否可以大於內存大小?
Redis正在使用RAM和HDD來存儲數據。 RAM用作快速讀/寫存儲器,HDD用於使數據持久。當Redis啓動時,它會將所有數據從硬盤加載到RAM中,或者只將經常查詢的數據加載到RAM中?如果我在硬盤上安裝了500Mb Redis存儲器,但Redis只有100Mb或RAM。我在哪裏可以讀到它?
謝謝
PS:對不起,我的英語
Redis的一切都加載到RAM中。所有數據都寫入磁盤,但只能讀取重新啓動服務器或備份等內容。
雖然有幾種方法可以用少於RAM的數據使用它。您可以將它與MySQL或另一個基於磁盤的存儲結合使用,以便像memcached一樣工作 - 您可以手動管理緩存未命中和持久性。
Redis有一個虛擬機模式,其中所有的密鑰必須適合RAM,但不常訪問的數據可以在磁盤上。不過,我不確定這是否還處於穩定版本。
最近的版本(> 2.0)已經顯着改善,並且內存管理更高效。看到這篇博客文章解釋瞭如何使用散列來優化RAM內存佔用:http://antirez.com/post/redis-weekly-update-7.html
非常有用,但是從哪裏知道VM模式?在文檔中找不到它。或者你正在檢查新版本的源代碼? – Kirzilla 2010-04-06 06:55:48
http://antirez.com/post/redis-virtual-memory-story.html – 2010-04-06 07:20:11
因爲這篇文章,Redis虛擬機已被棄用,並很快被刪除。 – 2011-11-18 22:02:28