天天看點

緩存和資料庫同步|學習筆記緩存和資料庫同步

開發者學堂課程【Java面試疑難點串講2:緩存和資料庫同步】學習筆記,與課程緊密聯系,讓使用者快速學習知識。

課程位址: https://developer.aliyun.com/learning/course/25

緩存和資料庫同步

使用緩存,核心意義在于,為了減少資料庫的操作。

緩存與資料庫之間内容有一定的差異,是以緩存和資料庫一定不可能完全同步。若要求資料庫和緩存盡可能保持同步,則前提是:

1、緩存必須是資料庫專用的緩存

-在所有的ORMapping設計元件之中都會存在有EHCache緩存元件,這個緩存元件主要是為幫助使用者減少資料庫的處理操作,但是一般這樣的緩存均會有獨立的回收算法:LRU、FIFO、軟引用、弱引用。這些算法僅保證緩存中不需要的内容及時被清理幹淨,若一直被使用,則會被一直保留,并且這一操作隻能通過明确的代碼來釋放;

2、緩存必須是在進行分布式或反向代理式的操作時使用

-如,系統裡配置多個Tomcat(WEB容器)但是WEB容器需要統一為所有的使用者進行服務。為了操作友善可将伺服器上的圖檔或者視訊等内容暫時儲存到本地伺服器上,因為這些資料,可以進行手工的清除,如,Nginx,使用purge子產品即可實作。

3、緩存必須采用緩存資料庫完成

-memcached、Redis,裡面的資料儲存的内容往往是不會顯示的資料;對于緩存的資料庫要儲存的内容往往都是高并發的資料資訊統計,對于這些資訊的統計處理,會結合大資料的開發工具完成,或者在進行叢集設計的時候使用這些緩存進行更加友善的協調處理,儲存分布式伺服器上的公共資料,

如、session

緩存的内容99%情況下是與資料庫不同步,若你需要進行同步處理,則直接