Shiro存储数据到Redis的实践(shiro去 Redis)

Shiro集成Redis是一个很棒的解决方案,可以节省大量的服务资源,减少系统耦合,提高性能。由于它是一种开源框架,因此使我们可以非常灵活地实现登录和权限管理功能,以及使用Redis来存储Shiro的数据,进一步提升系统的性能。本文将重点介绍如何在Shiro中将数据存储到Redis的实践。

公司主营业务:成都网站制作、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出枝江免费做网站回馈大家。

我们需要在项目中引入Redis和Shiro的相关依赖包,包括commons-pool2、shiro-redis和shiro-all,要在项目中使用Redis,需要在相关的配置文件中声明Redis相关配置,如下所示:

#Redis
#服务器地址
Spring.redis.host=127.0.0.1
#端口号
Spring.redis.port=6379
#连接密码(默认为空)
Spring.redis.password=
#连接超时时间(毫秒)
Spring.redis.timeout=1800000

我们还需要为Shiro配置一个Redis连接工厂,来负责管理Shiro 与Redis之间的连接。我们可以配置如下:

@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.timeout}")
private int timeout;

private JedisPool jedisPool;

@bean
public JedisPool getJedisPool() {
jedisPool = new JedisPool(host, port);
return jedisPool;
}

@Bean
public RedisManager shiroRedisManager() {
RedisManager redisManager = new RedisManager();
redisManager.setHost(host);
redisManager.setPort(port);
redisManager.setPassword(password);
redisManager.setExpire(timeout);
redisManager.setTimeout(timeout);
return redisManager;
}

我们还需要配置一个SecurityManager,它是使用RedisManager来负责所有Shiro相关安全操作的配置,如下所示:

@Bean
public DefaultWebSecurityManager securityManager() {
DefaultWebSecurityManager manager = new DefaultWebSecurityManager();
manager.setRealm(shiroRealm());
manager.setCacheManager(redisCacheManager());
return manager;
}
@Bean
public ShiroRealm shiroRealm(){
ShiroRealm shiroRealm = new ShiroRealm();
shiroRealm.setCachingEnabled(true);
shiroRealm.setCacheManager(redisCacheManager());
return shiroRealm;
}

@Bean
public RedisCacheManager redisCacheManager() {
RedisCacheManager redisCacheManager = new RedisCacheManager();
redisCacheManager.setRedisManager(shiroRedisManager());
return redisCacheManager;
}

总结来说,之前介绍的是在Shiro中使用Redis来存储数据的实践。这样做的优势是可以实现分布式缓存、更好的性能、提高应用程序灵活性、减少耦合等。

成都网站推广找创新互联,老牌网站营销公司
成都网站建设公司创新互联(www.cdcxhl.com)专注高端网站建设,网页设计制作,网站维护,网络营销,SEO优化推广,快速提升企业网站排名等一站式服务。IDC基础服务:云服务器、虚拟主机、网站系统开发经验、服务器租用、服务器托管提供四川、成都、绵阳、雅安、重庆、贵州、昆明、郑州、湖北十堰机房互联网数据中心业务。

当前文章:Shiro存储数据到Redis的实践(shiro去 Redis)
本文URL:http://www.mswzjz.com/qtweb/news40/192340.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联