Java 本地缓存实现:Guava Cache、Caffeine、Ehcache 和 Spring Cache-四、Ehcache

时间:2024-12-22 07:01:43

理论介绍

Ehcache 是一个广泛使用的开源缓存框架,适用于分布式和非分布式环境。它的特点有:
丰富的特性:支持多种缓存策略、持久化、集群等功能。
配置灵活:可以通过 XML 或注解进行配置。
社区活跃:拥有庞大的用户群体和活跃的社区支持。

实战演示

pom

<dependencies>
    <!-- Ehcache 核心库 -->
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.6</version>
    </dependency>
    <!-- Ehcache 的 web 集群分布式缓存的支持 -->
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-web</artifactId>
        <version>2.0.4</version>
    </dependency>
</dependencies>

ehcache.xml

<!-- ehcache.xml -->
<ehcache>
    <cache name="exampleCache"
           maxEntriesLocalHeap="100"
           eternal="false"
           timeToIdleSeconds="120"
           timeToLiveSeconds="120"/>
</ehcache>

示例代码

/**
 * ehcacheCache
 * @author senfel
 * @date 2024/12/20 17:31
 * @return void
 */
@Test
public void ehcacheCache() throws Exception{
    CacheManager cacheManager = CacheManager.create("D:\\workspace\\cce-demo\\src\\main\\resources\\ehcache.xml");
    Ehcache cache = cacheManager.getCache("exampleCache");

    cache.put(new Element("key1", "value1"));
    System.out.println(cache.get("key1").getObjectValue()); // 输出: value1
}