这篇文章主要讲解了“redis与Shiro集群怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis与Shiro集群怎么使用”吧!
10年积累的网站建设、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有涧西免费网站建设让你可以放心的选择与我们合作。
具体内容
如果现在使用了Shiro集群,为了避免出现访问的问题,那么一定需要将所有Shiro的Session缓存到Redis数据库之中,而后Shiro登录分为两部分:登录认证、授权。为了防止出现重复的登录操作,所以本次在进行处理的时候要对两个数据进行缓存:Shiro的Session处理、Shiro角色信息。同时为了方便处理,本次将采用Spring-Data框架针对于Redis进行处理。
在之前使用过的Session的管理采用了如下配置的一个类完成:
1、需要定义一个自己的SessionDAO的实现,这个DAO的实现最好直接继承“EnterpriseCacheSessionDAO”父类。
2、修改applicationContext.xml配置文件:
那么此时在分布式集群中所有可以使用的Session数据都会保存在Redis里面。
3、总结
由于Shiro有自己的Session实现机制,所以在分布式集群之中,此类模式一定是必然的选择。
课程名称:利用Redis序列化角色与权限数据
2、具体内容
在之前学习Shiro的时候由于只是单WEB端,所以所有的角色与权限都序列化到了内存里面,使用了EHCache缓存组件完成的,具体的配置如下:
但是现在是属于服务器集群的环境下,那么现在如果将某一个角色或权限只是保存在了一台WEB服务器的内存里面,那么其它的服务器如果需要角色或权限还需要进行一次查询。现在最好的做法也是将角色和权限的数据序列化到Redis数据里面,这样就不需要每一个的WEB端进行重复的查询处理了。1、首先如果要想将数据序列化到Redis数据库之中,那么现在就必须有一个与之匹配的Cache处理类,就是CRUD。范例:定义RedisCache处理类
2、所有的Cache接口的对象一定要通过CacheManager进行处理。范例:定义RedisCacheManager程序类
3、修改applicationContext.xml配置文件:
那么此时所有的权限与角色的缓存数据都将保存在Redis数据库里面。
感谢各位的阅读,以上就是“Redis与Shiro集群怎么使用”的内容了,经过本文的学习后,相信大家对Redis与Shiro集群怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
当前标题:Redis与Shiro集群怎么使用
链接分享:http://scgulin.cn/article/ihoops.html