在WEB程序中使用緩存,能給程序帶來不小的效率上的提升,常用的方式是使用一些緩存插件,如OSCACHE等,這里介紹個簡單的使用方式,即借助HaspMap進行緩存,即定義一個HaspMap的類變量,然后將程序得到的數據存入該變量中,當要獲取的時候,先從該變量中取,如果該變量中沒有數據,則再根據其他方式(如從數據庫中讀取,或從文件中讀取).然后將取到的數據存入的變量中,下次要使用時,就可以直接從該變量中取了,提高了效率.
類似代碼如下:
private static Map cache = new HashMap();



public Object getObj() {
final String cacheKey = "cacheToName";

if(cache.containsKey(cacheKey))
{
Object obj = (Object)cache.get(cacheKey);
return obj;
}

else
{
Object obj = "select * from
";
cache.put(cacheKey,obj);
return obj;
}
}
經過這樣緩存的處理后,就可以給程序帶來一定的效率的提升了.
注:這里要注意一個問題,即如果從數據庫或文件中得到的數據可能是會變化的時候,且程序中又要得到最新的數據時,采用這種方式是會有問題的,即不能得到最新的數據,比如開始從數據庫中查詢得到了一條數據,然后存入HashMap變量中,然后在系統的其他地方中更改了數據庫表中的數據,這時采用這種緩存方式獲取到的數據是改變之前的舊數據,而不是最新的數據的,如果要得到最新的數據,則就應該去掉緩存機制,呵呵.
posted on 2008-06-12 16:00
henry1451 閱讀(398)
評論(1) 編輯 收藏 所屬分類:
Java技術