JCS的學習與應用二:cache.ccf配置說明

    

        JCS比較關鍵的部分就是緩存配置文件,它支持自定義緩存區域(region),也就是多區域緩存,可以根據不同業務要求,來對不同緩存區域進行特殊設定。還有,默認提供了輔助緩存(索引式硬盤緩存和分佈式緩存),在每個region的第一行可以設定該區域緩存的輔助信息,是否使用輔助緩存等。


      下面對cache.ccf配置中的一些配置做下介紹。
 
# 這裏是設定使用輔助緩存項,也可以不填,使用默認值
jcs.default=

 
# 設定使用的 cache 屬性管理類別(複合型緩存)
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes

 
# 設定 cache 內對象的上限,這裏指的是某區域內緩存對象的最大上限,
#一般設定爲1000,只能存儲#988,另外2個對象空間被佔用
jcs.default.cacheattributes.MaxObjects=1000

 
# 設定 memory cache 的算法,LRU(近期最少使用算法)會將內存頁中近期不常用的對象移除內存
#jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

 
# 設定是否使用冗餘內存清除程序
jcs.default.cacheattributes.UseMemoryShrinker=true

 
# 當有使用 memory shrinker 時,設定閒置內存的過期時間
#(就是超過這個時長時,根據緩存算法,超出MaxObjects(內對象的上限)的那部分對象將要被清除或者被存入磁盤中)
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600

 
# 設定 shinker 執行時間間隔,會定期壓縮緩存所佔用內存
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60

 
# 設定 element 屬性類別
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes

 
#UseMemoryShrinker 和 IsEternal 都是用來自動刪除對象的。
#設定是否永久有效,默認爲true
jcs.default.elementattributes.IsEternal=false

 
# 設定緩存element最大生命週期,超過時間後去請求緩存對象則返回null
jcs.default.elementattributes.MaxLifeSeconds=21600

 
# 設定緩存element可閒置的時間,需要配合設置IsEternal=false時纔有效
jcs.default.elementattributes.IdleTime=1800


#下面三個配置是開啓輔助緩存的,如果在第一行沒有設置輔助緩存,這裏則是無效的。
#在第一行配置後,這裏如果是false也是無效的,還是會進行一些輔助緩存的初始化操作等等,
#只是不會真正的生成緩存數據。
# 開啓磁盤緩存,默認爲true
jcs.default.elementattributes.IsSpool=false


# 關閉遠程緩存,默認爲true
jcs.default.elementattributes.IsRemote=false



# 關閉橫向式的並行緩存,默認爲true
jcs.default.elementattributes.IsLateral=false
    
       在通過配置src/classes目錄下的cache.ccf文件,則可以通過代碼來get到某個region緩存區域,並進一步put緩存對象了。

JCS cache = JCS.getInstance(cacheName);
cache.put("key","value");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章