JAVA開発メモ
EHCache
 

[リロード]   [新規|編集|差分|添付]   [トップ|一覧|単語検索|最終更新|バックアップ|ヘルプ]

サイトメニュー
最新の20件
2018-08-012018-02-222016-12-222015-06-242013-07-032013-02-262011-01-122010-06-082010-03-092010-03-032009-12-302009-10-302009-02-252009-02-242009-02-112008-09-242008-09-232008-09-16


概要

Ehcacheは軽量、高速を特徴とするオープンソースのキャッシュシステムです。

対応JDK

JDK1.2、1.3、1.4、5.0 (JDK1.1は対応していない)

NEWS

  • 2008/08/18 - ehcache 1.6開発開始
    • Minimum Java version 1.5
    • minimise dependencies for core users: drop commons logging, commons collections and backport concurrent (already done in trunk and snapshot)
    • add a JMS distributed cache replicator
    • add RESTful ehcache server as secondary store, leveraging the new ehcache-server, and using partitioning (memcached feature)
    • introduce new performance strategies and secondary store categories to allow greater optimisation. The goal is to make ehcache faster than java.util.concurrent for in-process caching and as scalable as memcached for out-of-process caching.
    • group invalidation (OSCACHE feature)
    • add other oustanding feature requests

情報源

サンプル

net.sf.ehcache.CacheManager?クラス

クラスパス直下の定義ファイル(ehcache.xml)より生成する。

 CacheManager manager = CacheManager.getInstance();

クラスパス配下の任意の定義ファイルを指定して生成する。

 URL url = getClass().getResource("/package/anothername.xml");
 CacheManager manager = CacheManager.create(url);

定義ファイルのファイルパス指定より生成する。

 CacheManager manager = CacheManager.create("src/config/ehcache.xml");

CacheManager?を終了する。

 manager.shutdown();

net.sf.ehcache.Cachesクラス

定義ファイルで定義したキャッシュ名"sampleCache1"のキャッシュを取得する。

 Cache cache = manager.getCache("sampleCache1");

新規にキャッシュ名"test"のキャッシュを生成し、CacheManager?に登録する。

 // Cache(String name, int maximumSize, boolean overflowToDisk,
 //  boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds,
 //  boolean diskPersistent, long diskExpiryThreadIntervalSeconds)
 Cache testCache = new Cache("test", 1000, true, false, 500, 200, false, 120);
 manager.addCache(cache);

キャッシュをクリアする。

 cache.removeAll();

net.sf.ehcache.Elementクラス

新規にElementを生成し、キーと値を設定してキャッシュする。(キーも値もシリアライズ可能なオブジェクト)

 Element element = new Element("key1", "value1");
 cache.put(element);

キャッシュから指定のキーよりElementを取得する。

 Element element = cache.get("key1");

キャッシュから指定のキーのElementを削除する。

 cache.remove("key1");

定義ファイル

 <ehcache>
   <diskStore path="java.io.tmpdir"/>
   <defaultCache
       maxElementsInMemory="10000"
       eternal="false"
       timeToIdleSeconds="120"
       timeToLiveSeconds="120"
       overflowToDisk="true"
       />
   <cache name="my.package.Class"
       maxElementsInMemory="10000"
       eternal="false"
       timeToIdleSeconds="300"
       timeToLiveSeconds="600"
       overflowToDisk="true"
       />
 </ehcache>

diskStoreタグ

java.io.tmpdir デフォルトの一時ディレクトリ
user.home ユーザのホームディレクトリ
user.dir ユーザのカレントディレクトリ

defaultCacheタグ

maxElementsInMemory?(必須) メモリ上にキャッシュするオブジェクトの最大数
eternal(必須) キャッシュオブジェクトの有効期限の有無(true:無)
timeToIdleSeconds? 未アクセスの削除期限[sec]
timeToLiveSeconds? キャッシュオブジェクトの寿命[sec]
overflowToDisk?(必須) maxElementsInMemory?を超えた時のDisk保持有無(true:有)
diskPersistent JVM再起動時での永続化有無(デフォルトfalse:無)
diskExpiryThreadIntervalSeconds? disk expiry threadの実行間隔[sec](デフォルト120)

cacheタグ

name(必須) キャッシュの名称
その他 defaultCacheと同じ

リロード   新規 編集 差分   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Wed, 03 Sep 2008 12:27:33 JST (4112d)
Link: FrontPage(1627d)

Modified by MT22(Moriwaki Takashi)

"PukiWiki" 1.3.7 Copyright © 2001,2002,2003 PukiWiki Developers Team. License is GNU/GPL.
Based on "PukiWiki" 1.3 by sng
Powered by PHP 5.3.29

HTML convert time to 0.024 sec.