1 回答

TA貢獻1895條經(jīng)驗 獲得超3個贊
是否默認啟用休眠二級緩存?
它不是。二級緩存是一個單獨的緩存庫,您需要將其添加為依賴項并對其進行配置,例如 EHCache、hazelcast、cache2k...
如果我確實想使用它,可能會以增加內(nèi)存使用為代價來提高性能,或者它只是使用磁盤空間。
用更多的內(nèi)存來換取較低的外部請求是緩存的本質。根據(jù)您的應用程序,這可能會產(chǎn)生不同的效果。如果您的應用程序請求某些行的頻率并不比其他行更頻繁,并且您有大量數(shù)據(jù),則緩存可能會適得其反。然而,這是非常罕見的。
您可以限制緩存使用的內(nèi)存量,因此一旦滿了,使用的內(nèi)存將相當穩(wěn)定。
使用數(shù)據(jù)庫的主要原因之一是我的應用程序可以擴展并且不需要越來越多的內(nèi)存。
“規(guī)?!币馕吨煌臇|西。這可能意味著您的應用程序需要處理越來越多的數(shù)據(jù),也可能意味著您的應用程序需要處理越來越多的用戶。或兩者。緩存可幫助您處理更多用戶并以更低的延遲處理請求,從而改善您的用戶體驗。
對于較小的緩存大小,您的內(nèi)存消耗可能會更低。由于從數(shù)據(jù)庫請求數(shù)據(jù)的活動較少,因此 VM 中的 GC 活動較少,需要的數(shù)據(jù)庫連接和其他資源也較少。
我的建議:
我的經(jīng)驗表明,即使是非常小的緩存,比如 1000 個條目,也會產(chǎn)生很大的影響。這是因為 99% 的應用程序都有一些經(jīng)常被請求的數(shù)據(jù)熱點。在不了解您的應用程序的情況下,無法從理論層面回答您的問題。最好的方法就是嘗試一下。
添加回答
舉報