ハマログ

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

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   2014年8月19日


関連記事

Amazon Linux2でLocaleを変更してみた

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

Windowsバッチかきました

こんにちは、かねこです。 はじめに 複数のマシンにPHPのプロジェクト環境を作る…

nagiosでHTTPステータスコードを監視する

Nagiosについて イーツー・インフォでは、ウェブサイトの死活監視の一部にNa…


← 前の投稿

次の投稿 →