缓存框架EhCache的使用

缓存框架EhCache的使用

缓存可以提高查询数据性能,对同一批数据进行多次查询时,第一次查询数据库,查询数据后,将数据保存在内存中,第二次以及之后查询,可以直接从内存获取数据,而不需要和数据库进行交互

适合放入缓存的数据有什么要求:

1.经常发生变化的数据不适合放入缓存
2.安全数据(跟钱有关系的数据)不适合放入缓存

常用的缓存技术:

memcached redis ehcache JbssCache 
最终数据在内存 

问题:为什么使用ehcache而不使用redis缓存

1.Shiro默认对ehcache的支持
2.在后台管理系统中ehcache使用非常普遍

ehcache + spring + shiro

spring+ehcache框架整合

1.导入ehcache maven 坐标
Ehcache开发包
这里写图片描述

Spring整合ehcache 包 spring-context-support包

2.使用ehcache,导入ehcache.xml配置文件

解压ehcache-core.jar 包,将ehcache-failsafe.xml复制src/main/resources 改名ehcache.xml

自定义缓存区
这里写图片描述

3.配置spring整合ehcache

将 ehcacheManager 交给 spring 管理
这里写图片描述

默认Ehcache 提供 CacheManager 提供 addCache(),getCache() 这些方法,原理在内存保存 key-value

配置 shiro 整合 ehcach 完成对授权数据缓存

4.配置 shiro 封装缓存管理器
这里写图片描述

5.将shiro 的缓存管理器,注入到安全管理器中

应用程序代码–Subject–SecurityManager–Realm(查询认证和授权数据)
这里写图片描述

6.对认证数据、授权数据 哪些进行缓存?

配置Realm
这里写图片描述

注意: 使需要缓存对象,实现Serializable 接口
java.io.NotSerializableException: cn.itcast.bos.domain.system.User

Ehcache 对普通业务数据进行缓存

Spring 整合EhCache后, 缓存注解的使用
当spring整合缓存框架后,提供了一套注解

这里写图片描述

4.配置spring 缓存管理器,封装 ehcache自带CacheManager
这里写图片描述

5.在applicationContext-cache.xml 引入cache 名称空间
这里写图片描述

6.激活spring 缓存注解
这里写图片描述

7.在被spring 管理bean 对象方法上 使用@Cacheable、@CacheEvict
@Cacheable 应用缓存区,对方法返回结果进行缓存 — 用于查询方法
@CacheEvict 清除缓存区数据 — 用于 增加、修改、删除 方法

这里写图片描述
对实体类序列化
在service实现类上方法上加@Cacheable(“standard”)用于查询
@CacheEvict(value=”standard”,allEntries=true)用于增删改

有参数的方法如何对结果数据进行缓存
这里写图片描述

针对数据在不同条件下进行不同缓存,设置@Cacheable注解key属性
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值