2010-04-04 109 views
2

我對Redis頗爲陌生,在使用之前我想學習一些重要的細節(如我)。所以......Redis - 數據大小是否可以大於內存大小?

Redis正在使用RAM和HDD來存儲數據。 RAM用作快速讀/寫存儲器,HDD用於使數據持久。當Redis啓動時,它會將所有數據從硬盤加載到RAM中,或者只將經常查詢的數據加載到RAM中?如果我在硬盤上安裝了500Mb Redis存儲器,但Redis只有100Mb或RAM。我在哪裏可以讀到它?

謝謝

PS:對不起,我的英語

回答

6

Redis的一切都加載到RAM中。所有數據都寫入磁盤,但只能讀取重新啓動服務器或備份等內容。

雖然有幾種方法可以用少於RAM的數據使用它。您可以將它與MySQL或另一個基於磁盤的存儲結合使用,以便像memcached一樣工作 - 您可以手動管理緩存未命中和持久性。

Redis有一個虛擬機模式,其中所有的密鑰必須適合RAM,但不常訪問的數據可以在磁盤上。不過,我不確定這是否還處於穩定版本。

+0

非常有用,但是從哪裏知道VM模式?在文檔中找不到它。或者你正在檢查新版本的源代碼? – Kirzilla 2010-04-06 06:55:48

+2

http://antirez.com/post/redis-virtual-memory-story.html – 2010-04-06 07:20:11

+3

因爲這篇文章,Redis虛擬機已被棄用,並很快被刪除。 – 2011-11-18 22:02:28