您的位置:首页 > 数据库 > Redis

shiro redis session共享总结

2018-03-24 16:21 435 查看
目前了解的做法有三种:
第一种,将shiro的cache存储在redis中。重写cacheManage,cache 变成 RedisCache。
              参考网址:https://blog.csdn.net/lhacker/article/details/19334305
第二种,将shiro的session存储在redis中。重写 sessionManager,sessionDao 变成 RedisSessionDao 
             参考网址:https://github.com/hafizzhang/shiro-session-cluster

第三种,将shiro的session存储在redis中,但是读取的时候从cache中读,若本地cache没有则从redis中读取。更新或者删除的              时候 向redis发送消息,通过redis发布订阅,清空cache。
             参考网址:https://github.com/xiaolongyuan/shiro-redis-session 代码

在使用shiro redis session的 过程中,发现shiro读取和更新太频繁。
1.一个请求中读取session次数过多,可以在这个请求中缓存session,或者第三种做法。
解决方案 
            缓存session: https://www.cnblogs.com/xj-blog/p/8289429.html
2.更新频繁是由于更新过期时间造成的,可以由此判断是否更新。重写session 和 sessionFactory。
            参考 https://github.com/xiaolongyuan/shiro-redis-session 代码

由于读取和更新太频繁都解决了,所以不推荐第三种,建议第二种。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息