ハマログ

株式会社イーツー・インフォの社員ブログ

Javaのキャッシュ処理 – Ehcache

こんにちは、かねこです。

はじめに

Javaのキャッシュ処理といえばJCache(JSR-107)なんだけど、僅差でJavaEE7にインクルードされなかったので代替品を・・・ということでEhcacheがなかなかよさげです。
(そのJCacheも2001年から長い年月をかけて、今年やっと最終リリースとなりました。)
また、Ehcacheは現時点でJSR-107のすべてを実装しており、互換性が非常に高いのです。

特長

・高速
・シンプル
・軽量
・最小限の外部依存(SLF4Jのみ!)

スケーラブルでフレキシブルで拡張性の高いとてもよいキャッシュライブラリなのです。

How to Use

導入
Mavenで。
Maven Repository – Ehcache

<dependency>
	<groupId>net.sf.ehcache</groupId>
	<artifactId>ehcache</artifactId>
	<version>2.8.3</version>
</dependency>

 
ehcache.xmlをクラスパス配下に置く
各設定値はドキュメントを参照

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
	<diskStore path="java.io.tmpdir"/> 

    <defaultCache
        maxElementsInMemory="1000" 
        eternal="true" 
        overflowToDisk="true"/>

    <cache name="Category" 
        maxElementsInMemory="10000" 
        eternal="false" 
        overflowToDisk="true" 
        timeToIdleSeconds="3600" 
        timeToLiveSeconds="3600" 
        memoryStoreEvictionPolicy="LFU" 
        />
</ehcache>

 
キャッシュの保存

CacheManager manager = CacheManager.getInstance();
Cache cache = manager.getCache("Category");
cache.put(new Element(cacheKey, object));

 
キャッシュの取得

CacheManager manager = CacheManager.getInstance();
Cache cache = manager.getCache("Category");
Element element = cache.get(cacheKey);
if (element == null) {
	// データ取得処理
}

ディスクが早くて安い時代なので、キャッシュガンガンつかおう!

では、また。

cacheJavaJavaEEJavaSEJSRJSR-107Mavenmvn

kaneko tomo   kaneko tomo   2014年8月19日


関連記事

APC導入でPHPのパフォーマンスアップ

こんにちは池島です。PHPにAPCを導入したのでその時の記録を書きます。 導入し…

WordPressのWP_Queryリクエストでテンプレート名を指定する

WordPressで条件を指定して記事や固定ページを取得する場合、WP_Quer…

Amazon Linux2でLocaleを変更してみた

  はじめに どうも!T-utsuです。 最近なにかとAWSをいじるこ…


← 前の投稿

次の投稿 →