快取套件


CacheKit 是快取操作工具類,以下是範例程式碼:

##public void list() {
List<Blog> blogList = CacheKit.get("blog", "blogList");
if (blogList == null) {
blogList = Blog.dao.find("select * from blog"); CacheKit.put("blog", "blogList", blog"); CacheKit.put("blog", "blogList", blogList"); CacheKit.put("blog", "blogList", blogList);
}
setAttr("blogList", blogList); render("blog.html");
}
CacheKit 中最重要的兩個方法是get(String cacheName, Object key)與put(String cacheName,Object key, Object value)。 get 方法是從 cache 取數據,put 方法是將資料放入 cache。參數 cacheName 與 ehcache.xml 中的<cache name="blog" …>name 屬性值對應;參數 key 是指取值用 到的 key;參數 value 是被快取的資料。


以下程式碼是CacheKit 中重載的CacheKit.get(String, String, IDataLoader)方法使用範例:

public void list( ) {
List<Blog> blogList = CacheKit.get("blog", "blogList", newIDataLoader(){
public Object load() {
re Blog.dao.find("fse .find("fse blog");
}});
setAttr("blogList", blogList); render("blog.html");
}


CacheKit.get 方法提供了一個 IDataLoader 接口,該接口中的 load()方法在快取值不存在時才會被呼叫。此方法的特定操作流程是:首先以 cacheName=blog 以及 key=blogList 為參數去 緩訪問數據,如果緩存中數據存在就直接返回該數據,不存在則調用 IDataLoader.load()方法來 獲取數據。