改善性能Shiro用Redis做缓存(shiro使用redis)
2023-06-13 09:11:24 时间
现今的信息安全体系尤其重要,Shiro作为经过积累和完善的安全框架,成为首选,但众所周知,安全验证易造成调用次数高,导致性能下降,这里将介绍Shiro使用Redis做缓存有效改善性能的做法。
安装并启动Redis,创建ShiroConfig类,加入RedisCacheManager实例,主要如下:
`java
@Configuration
public class ShiroConfig {
@Bean
public RedisCacheManager redisCacheManager(){
RedisCacheManager redisCacheManager = new RedisCacheManager();
return redisCacheManager;
}
}
然后,在程序的securityManager中实例化RedisCacheManger,一般通过编写Realm实现,代码如下:
```java@Configuration
public class ShiroConfig {
@Bean public Realm realm() {
AuthorizingRealm realm = new AuthorizingRealm() { // 重写doGetAuthenticationInfo()和doGetAuthorizationInfo()
@Override protected AuthorizationInfo doGetAuthorizationInfo() {
// 设置cache管理 SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
info.setCache(cacheManager.getCache("authorizationCache")); return info;
} }
}}
在应用中使用即可,如下:
`java
@Service
public class UserService {
@Autowired
private SecurityManager securityManager;
// 根据用户名获取登录信息
public User getUserByName(String name) {
// 将用户名+角色信息加入到shiro的cache中
securityManager.getCacheManager().getCache(name).put(name, role);
// 从缓存中获取数据
return (User) securityManager.getCacheManager().getCache(name).get(name);
}
}
通过给安全管理器配置RedisCacheManager,可以将一些重复的权限验证缓存起来,复用已有验证,减轻了验证的调用次数,降低了性能的消耗,在安全体系中可以使用这些技术有效改善性能。
我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 改善性能Shiro用Redis做缓存(shiro使用redis)
相关文章
- Redis的实现:如何搭建一个写从库(redis写从库)
- Redis简单上手:学会基本用法(redis基本用法)
- 分布式缓存Redis: 实现高效的分布式缓存(redis高性能)
- 增强项目性能:添加Redis到项目中(项目中添加redis)
- 微服务构建拥抱可用性 Redis集群实现(微服务redis集群)
- 提升效率建立基于Redis的订单系统(订单系统使用redis)
- 展现Redis之精彩如何获取Redis中的键(获取redis中的键)
- 利用Redis集群提升系统性能(现行redis集群方案)
- Redis储存优势点赞技术开发之道(点赞怎么使用redis)
- 服务器上Redis的轻松体验(服务器上启动redis)
- 实现秒杀功能将数据写入Redis缓存(数据写入redis缓存中)
- 京东使用Redis最新版,助力业务提速(京东的redis版本)
- 春天里的Redis开启缓存大门的钥匙(spring_redis)
- Redis版本更新升级,提升你们项目性能(你们项目redis版本)
- Redis集群架构深入剖析(redis集群架构讲解)
- 处理超时处理防治Redis集群抖动(redis集群抖动超时)
- Redis进阶实战立即提升缓存性能(redis 进阶实战)
- Redis读写性能优化解决并发读写问题(redis读写并发)
- 利用Redis实现多线程访问过期数据(redis过期 多线程)
- 利用Redis缩短加载瓦片时间(redis 缓存瓦片)