java實現快取

2021-08-24 20:33:25 字數 2236 閱讀 8719

快取可以分為兩大類:

1、通過檔案快取,就是把資料儲存在磁碟上,不管是以xml格式、序列化檔案dat還是其他檔案格式;

2、記憶體快取,也就是實現乙個類中靜態map,對這個map進行常規的增刪查

public class cache 

public cache(string key, object value, long timeout, boolean expired)

public string getkey()

public void setkey(string key)

public object getvalue()

public void setvalue(object value)

public long gettimeout()

public void settimeout(long timeout)

public boolean i***pired()

public void setexpired(boolean expired)

}

* 記憶體快取就是實現乙個類中靜態的map,對這個map進行常規的增刪改查

* * 可擴充套件功能:當cache記憶體溢位時必須清理掉最早期的一些快取物件,

* 這就要求每個快取物件儲存建立時間

*/public class cachemanager

//獲取boolean值的快取

public static boolean get******flag(string key)

public static long getserverstartdt(string key)

//設定boolean值的快取

public synchronized static boolean set******flag(string key,boolean flag)else

}public synchronized static boolean set******flag(string key,long serverbegrundt)else

}//得到快取同步靜態方法

private synchronized static cache getcache(string key)

//判斷是否存在乙個快取

private synchronized static boolean hascache(string key)

//清除所有快取

public synchronized static void clearall()

//清除某一特定快取,通過遍歷hashmap下的所有物件,來判斷它的key和傳入的type是否匹配

public synchronized static void clearonetype(string type)

}for (int i = 0; i < list.size(); i++)

}//載入快取

public synchronized static void putcache(string key,cache ojb)

//獲取快取資訊

public static cache getcacheinfo(string key)

}return null;

}private static boolean cacheexpired(cache cache)

/*系統當前毫秒數*/

long nowtime = system.currenttimemillis();

/*快取內的過期毫秒數*/

long cachetimeout = cache.gettimeout();

/*過期時間小於等於零時,或者過期時間大於當前時間則為false*/

if (cachetimeout <= 0 || cachetimeout > nowtime)else

}//獲取快取大小

public static int getcachesize()

//獲取指定型別的大小

public static int getcachesize(string type)

}return k;

}//獲取快取物件中所有鍵值名稱

public static listgetallcachekeys()

//獲取快取物件中指定型別的鍵值名稱

public static list getallcachekeyvalue()

}

**

JAVA實現分布式快取

1概述 通常情況下我們執行程式的過程中會產生一些中間資料,這些中間資料需要在將來的某個時間讀取。這就要求我們要把它存在乙個提供高速訪問的地方,最好的選擇就是記憶體中。基於這個以及多個原因需要我們把這部分儲存到其他機器上,這樣就產生了分布式快取的問題。實際上分布式快取根本上就是提供乙個附加記憶體讓另一...

java 快取機制 實現的原理?

所謂快取,就是將程式或系統經常要呼叫的物件存在記憶體中,一遍其使用時可以快速呼叫,不必再去建立新的重複的例項。這樣做可以減少系統開銷,提高系統效率。快取機制的實現有很多中,這裡講一種。public class cacheimmutale 返回方法 public string getname 返回物件...

JAVA實現分布式快取

1概述 通常情況下我們執行程式的過程中會產生一些中間資料,這些中間資料需要在將來的某個時間讀取。這就要求我們要把它存在乙個提供高速訪問的地方,最好的選擇就是記憶體中。基於這個以及多個原因需要我們把這部分儲存到其他機器上,這樣就產生了分布式快取的問題。實際上分布式快取根本上就是提供乙個附加記憶體讓另一...