2016-11-03 42 views
1

我們希望將主鍵保存在磁盤上的內存和備份密鑰中。因此,在重新洗牌時,我們將接受從磁盤讀取密鑰/值的性能。你可以將Ignite緩存備份驅逐出磁盤嗎?

從我對ignite文檔的研究中,我沒有看到這個選項。有沒有辦法通過配置來做到這一點?

如果此功能不存在,作爲解決方法,我有以下想法。如果我們知道我們的緩存需要1TB,我們知道備份將會是2TB。 (大約)如果我們在內存中分配1 TB以上的內存,並將驅逐策略設置爲磁盤,這是否能夠有效地爲我們提供我們想要的功能?也就是說,它會將備份副本驅逐到磁盤並將內存初始化?

回答

0

此功能不存在,您的解決方法將不起作用,因爲它會隨機驅逐主要和備份副本。但是,您也許可以實施自己的驅逐策略,這將立即驅逐任何已創建的備份並配置交換空間來存儲此備份。

請注意,只有在您運行SQL查詢和/或您沒有持久性存儲的情況下,我才能看到它。如果您只使用基於密鑰的訪問,則在需要時,任何丟失的條目將從持久存儲中重新加載。

+0

是的,我們不使用基於密鑰的訪問。實際上我們也不使用SQL,我們正在廣播一個lambda表達式並在本地條目上執行。謝謝! –

+0

現在就來寫這個吧。在驅逐策略中,我們正在考慮使用Affinity函數來確定哪些密鑰是主密鑰,哪些密鑰是備份的。這看起來是一種合適的方法嗎?此外,不知道它是否重要,但我們也實施了我們自己的親和力功能。 –