番石榴高速緩存可以使用的最大尺寸是多少?我的系統有8GB RAM,因此不會降低系統和其他應用程序的性能。我可以使用多少MB?當RAM存儲不可用時,Guava緩存是否也使用硬盤存儲?番石榴高速緩存可以使用的最大尺寸是多少?
1
A
回答
4
您只能限制高速緩存中條目的數量。在番石榴中,沒有辦法以兆字節爲單位指定大小限制。 EHCache支持以兆字節爲單位指定大小限制,但是,確定緩存條目的大小是一項艱鉅的任務,涉及一些魔術,猜測和性能開銷。
當RAM存儲不可用時,Guava緩存是否也使用硬盤存儲?
不,它只是Java堆。詳情請參閱CachesExplained · google/guava Wiki。
實際上,您從合理但低緩存大小開始,並增加緩存大小,同時保持並關注堆內存消耗。
其實問題「如何調整緩存大小?」不容易回答,通常有經驗和直覺相關。爲拓寬答案一點,給你更多的方向:
先決條件
- 確保瞭解Java堆和垃圾收集
- 專有的一般概念/檢查最大堆大小設置的JVM。請參閱:How is the default java heap size determined?
- 瞭解如何監視和解釋堆消耗和GC活動,例如與VisualVM的,請參閱:http://visualvm.java.net/monitor_tab.html
- 知道如何從緩存中檢索和統計資料的理解,尤其是命中率
- 瞭解你的數據,在一個條目中的字節估計大小和活動數據的大小計數設定
規則拇指
- 目標的90%多的命中率。如果更少,請增加緩存大小,或者瞭解爲什麼緩存不太有效。可能的原因:由於過期時間過短而導致緩存未命中,大量順序掃描。有時你可以改進你的應用程序或者用其他參數來調整緩存大小來優化你的命中率。
- 對於至少活動數據集大小的10%,第一個「最好的選擇」配置您的緩存大小(以條目數)
+0
我沒有數據分析只是在你的pov如果我目前的內存使用率是50%左右,那麼我可以在緩存中使用100 MB的數據? – agrawal1084
+0
當然,100 MB應該不成問題。但是,請仔細檢查JVM的最大堆大小。我會更新我的答案。 – cruftex
相關問題
- 1. 番石榴高速緩存最大尺寸1
- 2. 番石榴最大緩存大小
- 3. 使用沒有加載函數的番石榴高速緩存
- 4. 我理想的高速緩存使用番石榴
- 5. 是番石榴高速緩存的讀鎖鎖
- 6. 如何使番石榴高速緩存值永久
- 7. 番石榴文件緩存
- 8. 番石榴高速緩存的預加載值
- 9. 方式使用番石榴緩存
- 10. 從番石榴高速緩存呼叫優雅退出()
- 11. 番石榴緩存不緩存
- 12. 如何禁用番石榴緩存?
- 13. 番石榴緩存內存泄漏
- 14. 番石榴緩存中的containsValue
- 15. 番石榴緩存/可配置逐出/緩存替換策略
- 16. 番石榴緩存魔法命中
- 17. 爲番石榴緩存(移動)
- 18. 番石榴緩存爲自定義POJO
- 19. 番石榴緩存泛型錯誤
- 20. 番石榴緩存asMap方法
- 21. 番石榴緩存監聽器插入
- 22. 番石榴緩存與ehcache基準
- 23. 番石榴緩存refreshAfterWrite混淆
- 24. 春季注入番石榴緩存
- 25. iPhone可以支持的紋理的最大尺寸是多少?
- 26. SYSJOBID的最大尺寸是多少?
- 27. DataGridView的最大尺寸是多少?
- 28. RTP頭的最大尺寸是多少?
- 29. Cookie的最大尺寸是多少?
- 30. Web.config的最大尺寸是多少?
沒有,番石榴緩存是嚴格對堆。它的大小不會有多大,它只是一個奇特的散列圖。 –