缓存框架EhCache的简单使用
缓存框架EhCache的简单使用:
1.Spring和EhCache框架整合
1.1导入jar包
<dependencies>
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
<version>2.6.11</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
1.2引入ehcache.xml的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:cache="http://www.springframework.org/schema/cache"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd ">
<!-- 缓存配置 -->
<bean id="ehCacheManager"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml" />
</bean>
<!-- shiro封装cacheManager -->
<bean id="shiroCacheManager"
class="org.apache.shiro.cache.ehcache.EhCacheManager">
<property name="cacheManager" ref="ehCacheManager" />
</bean>
<!-- spring 封装ehcache缓存管理器 -->
<bean id="springCacheManager"
class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehCacheManager" />
</bean>
<!-- 激活spring 缓存注解 -->
<cache:annotation-driven cache-manager="springCacheManager"/>
</beans>
2.配置shiro整合ehcache完成对授权数据缓存
2.1配置applicationContext.xml
<!-- 安全管理器 -->
<bean id="securityManager"
class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<property name="realm" ref="bosRealm" />
<property name="cacheManager" ref="shiroCacheManager" />
</bean>
<!-- 配置Realm -->
<bean id="bosRealm" class="cn.itcast.bos.realm.BosRealm">
<!-- 缓存区的名字 就是 ehcache.xml 自定义 cache的name -->
<property name="authorizationCacheName" value="bos" />
</bean>
2.2取消realm类上面的service注解
2.3给对应的实体类实现Serializable接口
3.Ehcache对普通业务数据进行缓存
在被 spring 管理 bean 对象方法上 使用@Cacheable 、@CacheEvict
@Cacheable 应用缓存区,对方法返回结果进行缓存 ---- 用于查询方法
@Cacheable("standard")
@CacheEvict 清除缓存区数据 --- 用于 增加、修改、删除 方法
@CacheEvict(value="standard",allEntries=true)
4.有参数的方法如何对结果数据进行缓存
针对数据在不同条件下进行不同缓存,设置@Cacheable 注解key属性
@Cacheable(value="standard",key="#pa.pageNumber+'_'+#pa.pageSize")
小结:针对采用ehcache技术的模块,再进行数据操作是时,只会走一次数据库,
接下来的每一次操作都是经过缓存从内存中获取的.
缓存框架EhCache的简单使用的更多相关文章
- spring+springMVC+JPA配置详解(使用缓存框架ehcache)
		SpringMVC是越来越火,自己也弄一个Spring+SpringMVC+JPA的简单框架. 1.搭建环境. 1)下载Spring3.1.2的发布包:Hibernate4.1.7的发布包(没有使用h ... 
- Java的进程内缓存框架:EhCache (转)
		EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种缓存 ... 
- Java的进程内缓存框架:EhCache
		EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. Ehcache缓存的特点: 1. 快速. 2. 简单. 3. 多种 ... 
- 缓存框架Ehcache相关
		单点缓存框架 只能针对单个jvm中,缓存容器存放jvm中,每个缓存互不影响 Ehcache gauva chache 内置缓存框架 jvm缓存框架 分布式缓存框架(共享缓存数据) Redis ... 
- SpringMVC集成缓存框架Ehcache
		在互联网应用中,应用并发比传统企业及应用会高出很多.解决并发的根本在于系统的响应时间与单位时间的吞吐量.思路可分为:一减少系统的不必要开支(如缓存),二是提高系统单位时间内的运算效率(如集群). 在硬 ... 
- Java 开源分布式缓存框架Ehcache
		http://www.codeceo.com/article/java-ehcache.html 
- Java分布式缓存框架
		http://developer.51cto.com/art/201411/457423.htm 在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓 ... 
- 5个强大的Java分布式缓存框架
		在开发中大型Java软件项目时,很多Java架构师都会遇到数据库读写瓶颈,如果你在系统架构时并没有将缓存策略考虑进去,或者并没有选择更优的缓存策略,那么到时候重构起来将会是一个噩梦.本文主要是分享了5 ... 
- EGOCache缓存框架详细讲解
		EGOCache是一个轻量级的缓存框架.用法简单方便,在现在的项目中,我就用到EGOCache来缓存下载过的照片和字符串. 有人可能会问到,缓存照片还需要用EGOCache吗?AFNetworking ... 
随机推荐
- 设置和获取html、文本和值
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- zTree API中刷新树没效果
			想刷新树,但是根据API来的refresh无效 ---------------------------------------------------------------------------- ... 
- threading.local()方法;线程池
			一,threading.local() import time import threading v = threading.local() def func(arg): # 内部会为当前线程创建一个 ... 
- MySQL 5.7.16 在CentOS 6.5 x64 安装
			1.创建MySQL组和MySQL用户 # groupadd mysql # useradd -g mysql mysql2.创建MySQL软件安装路径/opt/software # mkd ... 
- [Objective-C语言教程]循环语句(9)
			当需要多次执行同一代码块时,可以使用循环来解决. 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结构,允许更复杂的执行路径.循环语句可用于多次执 ... 
- Docker 下系统日志恢复
			众所周知,docker 是一款进程级虚拟机.上文我们已经分析解释了该如何使用,本文针对日志消失问题进行恢复与解释. Docker 可以理解为阉割版的系统,内部功能不全.可以通过组件安装进行基本功能恢复 ... 
- uC/OS-II 函数之任务相关函数
			获得更多资料欢迎进入我的网站或者 csdn或者博客园 对于有热心的小伙伴在微博上私信我,说我的uC/OS-II 一些函数简介篇幅有些过于长应该分开介绍.应小伙伴的要求,特此将文章分开进行讲解.上文主要 ... 
- [开源JVM] yvm - 自制Java虚拟机
			中文 | English | | | YVM是用C++写的一个Java虚拟机,现在支持Java大部分功能,以及一个基于标记清除算法的并发垃圾回收器. 不过还有很多bug等待修复. 感兴趣的朋友pull ... 
- Linux kill 指定进程名的四种方式
			方法1 pkill 进程名 方法2 killall 进程名 方法3 kill -9 $(ps -ef|grep 进程名关键字|grep -v grep|awk '{print $2}') 这个是利用管 ... 
- HTML5 Canvas核心技术 图形、动画与游戏开发学习总结
			save 和 restore 函数的应用 保存canvas和恢复canvas clip函数的应用 文字的绘制 背景图片的绘制 离屏canvas 基于时间的运动 
