Ehcache与 Redis缓存

以授权功能而言

每次查询数据库消耗性能

鉴于权限数据一般不容易变,所以用缓存

用户第一次授权:调用realm查询数据库  第二次:直接从缓存中取出授权信息

缓存有两种方式:Ehcache  Redis

Ehcache缓存

1. jar

     

2. shiro-ehcache.xml

     

3. 解决配置文件红色问题

扫描二维码关注公众号,回复: 2314917 查看本文章

     

4. application.xml文件中配置

     

5. 效果

第一次访问数据库后,之后不再访问数据库,一切授权功能从缓存中读取

不再经历此断点

     

 

Redis缓存

1. jar

     

2. spirng-redis.xml

     

    

3. ApplicationContext导入spirng-redis.xml

     

4. Jedis工具类

     

5. RedisCache 实现shiro提供的Cache接口

     

    

     

 

6. 创建 CustomCacheManager 实现 CacheManager 接口

     

7.  applicationContext.xml 中配置缓存管理器,和 Cache 对象

     

8. 执行代码后 redis数据库

     

9.结果

     

    

ehcache 和  redis  比较

1. ehcache 直接在 jvm 虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。

2. redis 是通过 socket 访问到缓存服务,效率比 ehcache 低,比数据库要快很多,处理集群和分布式缓存方便,有成熟的方案。如果是单个应用或者对缓存访问要求很高的应用,用 ehcache。如果是大型系统,存在缓存共享、分布式部署、缓存内容很大的,建议用 redis

3.shiro缓存

    Encache 第一次 先访问数据库在访问缓存
    redis第一次先访问缓存在访问数据库

猜你喜欢

转载自blog.csdn.net/wxcsdn1997/article/details/81022059