ハマログ

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

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日


関連記事

Google Driveでアンケートフォームを作成するの巻

こんにちは、お酒の飲めないかねこです。 この週末は、数年ぶりに酔いました(しかも…

AWS EC2でファイル共有 東京はまだだけど米国サーバーでEFS試してみる

こんにちはいけしまです。前回のブログ更新から5ヶ月もたってしまいました。すみませ…

Windowsで特定のポートを使用しているアプリケーションを探す

こんにちは、かねこです。 はじめに アプリケーション開発や環境構築をしていて、W…


← 前の投稿

次の投稿 →