ハマログ

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

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日


関連記事

Ajaxで$.postのForm送信にserialize(シリアライズ)を使用する

こんにちは。S.Iです。 先日、試行錯誤したAjaxでPOSTメソッドでForm…

Laravel 8.* のフォームリクエストでバリデーションチェック済みの値を整形してみる

突然ですが、フォームリクエストでバリデーションチェック済みの値を整形する必要に出…

Amazon Linux2でLocaleを変更してみた

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


← 前の投稿

次の投稿 →