2012-01-24 51 views
1

我試圖配置Ehcache(版本2.5),使它永遠不會忘記項目。 Here是我的第一次嘗試,但apparently Ehcache將試圖通過驅逐密鑰空間來驅逐我自己。我該如何讓Ehcache永遠不會從磁盤存儲中逐出?

有沒有什麼辦法讓我配置Ehcache(免費版本),只要應用程序正在運行就真的存儲元素?如果Ehcache可能會失去元素(不告訴我!),那麼我無法真正將它用於我的目的。請注意,我在另一個示例中使用了更多堆空間,然後使用它;我只是這樣設置它以確保它在早期開始寫入磁盤。

回答

2

使用固定:請參閱http://ehcache.org/documentation/configuration/data-life#pinning-data並使用inCache與磁盤存儲固定。 雖然我沒有真正明白你期望ehcache在這裏做什麼。如果你想避免以任何代價驅逐,並且maxBytesOnHeap看起來不是個好主意。指定maxBytesOnHeap的全部重點是保護您免受OOME攻擊。使用Gig的堆可能會使它更明智我猜...但基本上,當使用DiskStore時,你(和ehcache)必須考慮密鑰集,該密鑰集保存在內存中......因此,擁有maxBytesOnHeap> keySet的大小將有助於保持你的熱點在整個按鍵旁邊。希望這可以幫助!