84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
业精于勤,荒于嬉;行成于思,毁于随。
方法一:直接用Mysql 這種事情首先Mysql裡面就有緩存,實現了類似的功能,如果需要緩存的東西很多,你可以把緩存的內存設定大一點。 這樣的好處就是你不用自己控制快取的失效,確保資料一致性。
方法二:啟用用DAO框架的快取 例如Mybatis、Hibernate都是可以直接開啟二級緩存,通常是用ehcache作為實現,你只要配置就行,無需額外操作。
方法三:自己實作 用AOP去在Dao層做一個切面,把調用的「類名+方法名+參數」作為key,查詢結果作為value,每次調用去看一下是否已經緩存了,如果沒有再去調用Dao的實現類。
註:如果真的要自己去實現,不建議做一個這麼通用的方案,感覺重複造輪子。對效能要求極高的場景,可以根據實際需要做一些必要的快取即可。
建議你學習下代理模式
方法一:直接用Mysql
這種事情首先Mysql裡面就有緩存,實現了類似的功能,如果需要緩存的東西很多,你可以把緩存的內存設定大一點。
這樣的好處就是你不用自己控制快取的失效,確保資料一致性。
方法二:啟用用DAO框架的快取
例如Mybatis、Hibernate都是可以直接開啟二級緩存,通常是用ehcache作為實現,你只要配置就行,無需額外操作。
方法三:自己實作
用AOP去在Dao層做一個切面,把調用的「類名+方法名+參數」作為key,查詢結果作為value,每次調用去看一下是否已經緩存了,如果沒有再去調用Dao的實現類。
註:如果真的要自己去實現,不建議做一個這麼通用的方案,感覺重複造輪子。對效能要求極高的場景,可以根據實際需要做一些必要的快取即可。
建議你學習下代理模式