Liferay研究之廿五:緩存技術的使用

緩存是一個良好設計架構的必須元素,因爲使用具有通用目的的架構機制,勢必會造成一些計算的冗餘,造成性能的降低,通過緩存機制,就可以彌補這方面的問題。

Liferay中大量的使用了緩存機制,其核心都是MultiVMPool機制,但在具體使用上有兩種方式。

方式一:

使用FinderCache類,具體用法:

1、放入緩存 FinderCache.putResult(classNameCacheEnable, className, methodName, params, args, result),其中params是參數類型,Args是參數值,兩者需要進行匹配;

2、從緩存中獲取 FinderCache.getResult(className, methodName, params, args)。

方式二:

使用各個應用自己的緩存機制。比如在CalEvent中,參考CalEventLocalUtil,需要注意的是,這個Util方法是在service.impl目錄中的,也就是說是需要自己編寫的。

這些代碼都是對MultiVMPoolUtil進行了封裝,具體操作步驟如下:

1、放入緩存 MultiVMPoolUtil.put(cache, key, object), 其中cache是一個PortalCache類型的對象,PortalCache只是一個接口,具體的實現需要根據不同的緩存機制來編寫實現,比如Ehcache.

2、從緩存中讀取 MultiVMPoolUtil.get(cache, key)

具體請參見Liferay源碼。

發佈了112 篇原創文章 · 獲贊 10 · 訪問量 52萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章