ehcache-logo、width = 172、height = 100

このチュートリアルでは、http://ehcache.org/[Ehcache]を使い始めるための2つの例を紹介します。

使用されるツール:

  1. Ehcache 2.9

  2. Maven 3

  3. Gradle 2

  4. JDK 1.7


P.S EhcacheにはJDK 1.5以上が必要です.

1.プロジェクトのディレクトリ構造


ehcache-hello-world。、width = 455、height = 392

2. Hello World

これがMavenプロジェクトであると仮定します:

pom.xml

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

コメントは読んでください。

HelloEhCache.java

package com.mkyong.cache;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class HelloEhCache{

    public static void main(String[]args) {

       //1. Create a cache manager
        CacheManager cm = CacheManager.getInstance();

       //2. Create a cache called "cache1"
        cm.addCache("cache1");

       //3. Get a cache called "cache1"
        Cache cache = cm.getCache("cache1");

       //4. Put few elements in cache
        cache.put(new Element("1","Jan"));
        cache.put(new Element("2","Feb"));
        cache.put(new Element("3","Mar"));

       //5. Get element from cache
        Element ele = cache.get("1");

       //6. Print out the element
        String output = (ele == null ? null : ele.getObjectValue().toString());
        System.out.println(output);

       //7. Is key in cache?
        System.out.println(cache.isKeyInCache("1"));
        System.out.println(cache.isKeyInCache("5"));

       //8. shut down the cache manager
        cm.shutdown();

    }

}

出力

06:03:37.007[main]WARN  n.s.e.config.ConfigurationFactory - No configuration found.
    Configuring ehcache from ehcache-failsafe.xml  found in the classpath: //...

Jan
true
false
//...

2. Ehcache設定

この例では、ehcache.xmlファイルを使ってEhcacheを設定する方法を説明します。

これがGradleプロジェクトであると仮定します。

gradle.build

apply plugin: 'java'
apply plugin: 'eclipse-wtp'

version = '1.0'
//Uses JDK 7
sourceCompatibility = 1.7
targetCompatibility = 1.7
//Get dependencies from Maven central repository
repositories {
    mavenCentral()
}
 //Project dependencies
dependencies {
    compile 'net.sf.ehcache:ehcache:2.9.0'
}


ehcache.xml`を作成し、

src/main/resources`フォルダに入れます。

src/main/resources/ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
    monitoring="autodetect" dynamicConfig="true">

    <!-- By default, Ehcache stored the cached files in temp folder. -->
    <!-- <diskStore path="java.io.tmpdir"/> -->

    <!-- Ask Ehcache to store cache in this path -->
    <diskStore path="c:\\cache"/>

    <!-- Sample cache named cache1
    This cache contains a maximum in memory of 10000 elements, and will expire
    an element if it is idle for more than 5 minutes and lives for more than
    10 minutes.

    If there are more than 10000 elements it will overflow to the
    disk cache, which in this configuration will go to wherever java.io.tmp is
    defined on your system. On a standard Linux system this will be/tmp" -->
    <cache name="cache1"
        maxEntriesLocalHeap="10000"
        maxEntriesLocalDisk="1000"
        eternal="false"
        diskSpoolBufferSizeMB="20"
        timeToIdleSeconds="300" timeToLiveSeconds="600"
        memoryStoreEvictionPolicy="LFU"
        transactionalMode="off">
        <persistence strategy="localTempSwap"/>
    </cache>

</ehcache>

詳細は、公式のhttp://ehcache.org/ehcache.xml[ehcache.xml]の例を参照してください。

HelloEhCache.java

package com.mkyong.cache;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class HelloEhCache{

    public static void main(String[]args) {

       //1. Create a cache manager
        CacheManager cm = CacheManager.newInstance();

       //cm.addCache("cache1");

       //2. Get a cache called "cache1", declared in ehcache.xml
        Cache cache = cm.getCache("cache1");

       //3. Put few elements in cache
        cache.put(new Element("1","Jan"));
        cache.put(new Element("2","Feb"));
        cache.put(new Element("3","Mar"));

       //4. Get element from cache
        Element ele = cache.get("2");

       //5. Print out the element
        String output = (ele == null ? null : ele.getObjectValue().toString());
        System.out.println(output);

       //6. Is key in cache?
        System.out.println(cache.isKeyInCache("3"));
        System.out.println(cache.isKeyInCache("10"));

       //7. shut down the cache manager
        cm.shutdown();

    }

}

出力

06:45:56.294[main]DEBUG n.s.e.config.ConfigurationFactory -
  Configuring ehcache from ehcache.xml found in the classpath:
  file:/C:/Users/mkyong/workspace2/JavaCache/target/classes/ehcache.xml//...

Feb
true
false
//...

ソースコードをダウンロードする

ダウンロード – リンク://wp-content/uploads/2015/01/Java-Ehcache-HelloWorld-Example.zip[Java-Ehcache-HelloWorld-Example.zip](11 KB)

参考文献

ドキュメンテーション]。

ehcache.xmlの例


  1. Wikipedia:Ehcache

  2. リンク://java/java-read-a-file-from-resources-folder/[Java – ファイルを読む