對大多數大型系統而言,資料庫往往是最容易出現瓶頸的地方,而通過使用恰當的緩存技術可以非常有效地減輕資料庫的負載。
将系統中用到的所有資料進行分類,分别對待不同種類的資料而不是一視同仁,有利于正确地做出緩存哪些資料、以及如何緩存的決策。
我通常将系統中用到的資料分為四類:恒定不變的資料,隻發生增量的資料,偶爾改變的資料,經常改變的資料。
(1)對于恒定不變的資料,采用普通的恒定緩存,即這種緩存在系統啟動後初始化一次就不再改變了。
(2)對于隻發生增量的資料,采用智能式的增量緩存,如果所要的資料在這種緩存中不存在,則該緩存會從其它地方(如資料庫)自動加載目标對象并緩存起來。
(3)對于偶爾改變的(但不是十分敏感的)資料,采用定時重新整理的緩存,如每隔10分鐘重新整理一次。
(4)對于經常改變的資料,則又可以進一步細分:
将資料中變動部分和非變動部分區分開來,而非變動部分又可以封裝為單獨的對象,進而對該“部分”對象采用上述三種方式之一進行緩存。
如此,便可最大程度的利用緩存,進而可以有效提高系統性能,并明顯減輕資料庫和網絡負載。