Java Caching System 上手篇
http://jakarta.apache.org/jcs/
Java Caching System
一、功能
做 cache
二、安裝
1. 請至下列網址下載 jcs
http://svn.apache.org/viewvc/jakarta/jcs/trunk/tempbuild/
(PS. 示範所使用的版本為 jcs-1.2.7.9.2.jar)
2. 下載 Doug Lea's concurrent
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/current/concurrent.tar.gz
(可用 ant 編譯)
3. 還需要有 commons-logging
三、名詞
Elements:目前的理解是要被放進 Caching System 的物件
Regions:你可以將 Caching System 劃分「行政區域」提供基本的 namespace 功能。此外,這樣有什麼樣的好處呢?每一區的需要更新的頻率不太一樣,可以分開設定。
Auxiliaries:Auxiliaries 是可以讓 Regions 使用的 plug-in,功能類似於 log4j 的 appender 可以將 log 出輸的對象改變。
四、一般設定
設定檔檔名為 cache.ccf
如果你想設定不同的 region
五、在程式中使用
六、其他
1. 還能使用 ElementHandler 來控制 Element 過期時要做些什麼 (還沒研究 XD)
2. configure 設定可參考
Region Properties http://jakarta.apache.org/jcs/RegionProperties.html
Element Attribute http://jakarta.apache.org/jcs/ElementAttributes.html
3. Auxiliaries 使用可參考 http://jakarta.apache.org/jcs/Plugins.html
Java Caching System
一、功能
做 cache
二、安裝
1. 請至下列網址下載 jcs
http://svn.apache.org/viewvc/jakarta/jcs/trunk/tempbuild/
(PS. 示範所使用的版本為 jcs-1.2.7.9.2.jar)
2. 下載 Doug Lea's concurrent
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/current/concurrent.tar.gz
(可用 ant 編譯)
1 |
[slayer@rat concurrent]$ ant
Buildfile: build.xml
help:
[echo] To build concurrent.jar which contains the core library and misc classes: ant dist
[echo] To clean the build created files: ant clean
BUILD SUCCESSFUL
Total time: 0 seconds
[slayer@rat concurrent]$ ant dist
Buildfile: build.xml
init:
setup.packages:
compile:
dist:
BUILD SUCCESSFUL
Total time: 2 seconds
|
3. 還需要有 commons-logging
三、名詞
Elements:目前的理解是要被放進 Caching System 的物件
Regions:你可以將 Caching System 劃分「行政區域」提供基本的 namespace 功能。此外,這樣有什麼樣的好處呢?每一區的需要更新的頻率不太一樣,可以分開設定。
Auxiliaries:Auxiliaries 是可以讓 Regions 使用的 plug-in,功能類似於 log4j 的 appender 可以將 log 出輸的對象改變。
四、一般設定
設定檔檔名為 cache.ccf
1 |
# DEFAULT CACHE REGION # 這是預設的 region # 這裡是設定使用什麼 Auxiliaries 可以不填,使用預設值 jcs.default= # 設定使用的 cache 屬性管理類別 jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes # 設定 cache 內物件的上限 jcs.default.cacheattributes.MaxObjects=1000 # 設定 memory cache 的演算法 #jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache # 設定是否使用 memory shrinker jcs.default.cacheattributes.UseMemoryShrinker=true # 當有使用 memory shrinker 時,設定閒置記憶體的過期時間 jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600 # 設定 shinker 執行時間間隔 jcs.default.cacheattributes.ShrinkerIntervalSeconds=60 # 設定 element 屬性類別 jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes # 設定讓 element 會「過期」 jcs.default.elementattributes.IsEternal=false # 設定 element 建立後能存活多久 jcs.default.elementattributes.MaxLifeSeconds=21600 # 設定 element 可閒置的時間 jcs.default.elementattributes.IdleTime=1800 |
如果你想設定不同的 region
1 |
# 以此類推
jcs.myregion=
jcs.myregion.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
.....
|
五、在程式中使用
1 |
import org.apache.jcs.JCS;
import org.apache.jcs.access.exception.CacheException;
public class Example {
public static void main(String[] args) throws CacheException {
// 使用 test region
// 如果沒有設定會引用 default 的設定
JCS cache = JCS.getInstance("test");
// 用 String 來測試
// 因為他有實作 Serializable
cache.put("qrtt1", "foolish");
System.out.println(cache.get("qrtt1"));
cache.dispose();
}
}
|
六、其他
1. 還能使用 ElementHandler 來控制 Element 過期時要做些什麼 (還沒研究 XD)
2. configure 設定可參考
Region Properties http://jakarta.apache.org/jcs/RegionProperties.html
Element Attribute http://jakarta.apache.org/jcs/ElementAttributes.html
3. Auxiliaries 使用可參考 http://jakarta.apache.org/jcs/Plugins.html
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。