分布式本地緩存(JVM緩存)


適用本地(JVM)緩存的場景:

1、對性能有非常高的要求。

2、不經常變化。

3、占用內存不大。

4、有訪問整個集合的需求。

 

需要特別注意的地方:

1、如果是緩存查不到,再查DB。切記一定要加上鎖,不然如果多個線程同時去查緩存,然后查不到,然后又同時去查DB,線程足夠多,有可能出現穿透DB的情況。

2、如果某個節點存在多個實例(集群),那么每個實例中的本地緩存有可能出現不一致(每個緩存刷新的時間點不可能完全一致)。如果是公共的緩存,比如庫存等,應該放到redis中。

3、每個實例刷緩存的線程,盡量是增量刷(有改動的行刷進內存中)。

4、如果緩存有可能出現多個線程同時操作,選擇線程安全且高效的集合,比如ConcurrentHashMap,並預估可能存入的數據量,初始容量設置成2的n次方(原因請看HashMap原理的隨筆)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM