使用ehcache


    一直以来懒得配置缓存,基本的缓存也就是orm层,基本上都交给hibernate去配置了。这段时间,感觉页面速度太慢了,还是需要使用缓存。现在的缓存工具也挺多的,较不错的属ehcache和oscache了。决定分别研究一下。
    先来说说ehcache,目前的版本为1.2,已经支持集群了。对于ehcache的使用,感觉很容易上手,基本上都是配置。以前在hibernate的时候配置过,所以也不是很陌生。API也挺简单,如下的api:
    CacheManager主要的缓存管理类,一般一个应用为一个实例,如下
    CacheManager.create();也可以使用new CacheManager的方式创建
     默认的配置文件为ehcache.xml文件,也可以使用不同的配置:
     
 
CacheManager manager = new CacheManager("src/config/other.xml");    

缓存的创建,采用自动的方式
 
CacheManager singletonManager = CacheManager.create();
singletonManager.addCache("testCache");
Cache test = singletonManager.getCache("testCache");    

或者直接创建Cache

 
CacheManager singletonManager = CacheManager.create();
Cache memoryOnlyCache = new Cache("testCache", 5000, false, false, 5, 2);
manager.addCache(memoryOnlyCache);
Cache test = singletonManager.getCache("testCache");    

删除cache
 
CacheManager singletonManager = CacheManager.create();
singletonManager.removeCache("sampleCache1");    

在使用ehcache后,需要关闭
 
CacheManager.getInstance().shutdown()    

caches 的使用

 
Cache cache = manager.getCache("sampleCache1");    

执行crud操作

 
Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1");
cache.put(element);    

update
 
Cache cache = manager.getCache("sampleCache1");
cache.put(new Element("key1", "value1");
//This updates the entry for "key1"
cache.put(new Element("key1", "value2");    

get Serializable

 
Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Serializable value = element.getValue();    

get non serializable
 
Cache cache = manager.getCache("sampleCache1");
Element element = cache.get("key1");
Object value = element.getObjectValue();    

remove
 
Cache cache = manager.getCache("sampleCache1");
Element element = new Element("key1", "value1"
cache.remove("key1");    

不过缓存还是基本上以配置方式为主,下一篇文章将会说明ehcache如何配置
    

    
    

 
### 如何在Java应用程序中集成和配置Ehcache进行缓存管理 #### 一、引入依赖 为了使 Java 应用能够使用 Ehcache 进行缓存,首先需要向项目的构建文件中添加相应的依赖项。对于 Maven 构建工具而言,可以在 `pom.xml` 文件内加入如下依赖: ```xml <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.6</version> </dependency> ``` 此版本号可根据实际需求调整[^3]。 #### 二、配置Ehcache 接着,在应用的配置文件里指定 Ehcache 的设置参数。如果是在 Spring Boot 环境下,则可以通过修改 `application.properties` 或者 `application.yml` 来完成基本设定。例如,在 `.properties` 文件中的配置形式如下所示: ``` spring.cache.type=ehcache ``` 这一步骤明确了所采用的缓存类型为 Ehcache[^1]。 #### 三、定义缓存策略 创建自定义的 ehcache.xml 文件用于描述具体的缓存行为规则,比如最大条目数、过期时间等细节。该 XML 文档应当放置于类路径下的合适位置以便被正确加载。一个简单的例子可能是这样的结构: ```xml <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"> <!-- 默认缓存 --> <defaultCache maxEntriesLocalHeap="1000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120"/> <!-- 自定义缓存名称及其特性 --> <cache name="myCustomCache" maxEntriesLocalHeap="500" eternal="true"/> </ehcache> ``` 上述片段展示了如何声明默认缓存以及特定命名空间内的个性化缓存实例。 #### 四、利用注解简化开发流程 当完成了以上准备工作之后,便能够在业务逻辑层面上通过标注的方式快速启用或控制缓存操作。Spring 提供了一系列便捷的注解来辅助开发者更高效地处理数据存储与检索工作,主要包括但不限于以下几个方面: - 利用 `@CachePut` 更新已存在的键值对而不影响原有调用链路; - 调用 `@CacheEvict` 清除不再需要的数据记录以释放资源占用; 这些功能使得即使不具备深厚的技术背景也能轻松驾驭复杂的分布式环境下的性能优化任务[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值