2016-03-02 85 views
0

我的應用程序在插入到RDBS之前使用緩存(redis)來保存數據。它創建批次並節省連接時間。問題是服務器上沒有很多ram,並且很有可能出現內存不足錯誤。 Redis最新版本不支持虛擬內存(存儲在硬盤中)。也許有其他解決方案不使用舊版本的redis?持久緩存內存不足

謝謝, JEV

+0

什麼是數據集的大小? –

+0

你是什麼意思數據集的大小? redis存儲請求數據。數據量取決於白天的時間。我做了持久性和批處理數據以存儲在數據庫中。正如我提到的問題,redis數據可能會超出內存大小(內存不足錯誤)。 –

+0

我在下面添加了我的答案 - 它有幫助嗎? –

回答

0

Redis的是一個內存數據庫,這意味着所有數據必須適合到RAM中。當它沒有你之間做出選擇以下內容:

  1. 購買更多的內存 - 這是方法最簡單,但最昂貴的(硬件而言),但它確實取決於數據的一側,你正試圖在Redis中存儲。在這種情況下,你似乎不願意這麼做。
  2. 使用操作系統的虛擬內存 - 我聽說過Redis用戶可以通過操作系統啓用內存分頁/交換。雖然這種方法在技術上沒有任何問題,但它可能並不適合每個人,因爲這種配置的性能很難預測和穩定。
  3. Redis的實驗室(Redis的家庭,企業集羣& [盡職調查]我的僱主的商業提供商)提供了一個版本的Redis的使用閃存作爲內存擴展。這個版本基本上可以讓你將內存中的一些數據卸載到較慢的存儲空間,而在大多數情況下幾乎不會犧牲性能。