微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringBoot Redis切换db

之前用Redis2.x的时候就发现 jedisConnectionFactory.setDatabase(db); 这个方法已经过时了,不能用了,但是那时候没有用到这个功能,也就没在意,最近又更新了一下最新版本,有同事用到这块了,问我有没有什么办法,于是找到下面这个。

1.x.x版本中是这样的:

/**
 * @return : void
 * @Author : Yanqiang
 * @Date : 2019/1/18
 * @Param : [db]
 * @Description : 切换不同db PS:用完一定要切换回原来的DB,不然其他的没办法用
 */
public void switchRedisDb(int db) {
    JedisConnectionFactory jedisConnectionFactory = (JedisConnectionFactory) stringRedistemplate.getConnectionFactory();
    jedisConnectionFactory.setDatabase(db);
    stringRedistemplate.setConnectionFactory(jedisConnectionFactory);
    ValueOperations valueOperations = stringRedistemplate.opsForValue();
}

2.x.x 版本以上 用下面的这个方法,不管用哪个,一定要记得用完切换回原来的库

/**
 * @Author : Yanqiang
 * @Date : 2019/5/21
 * @Param : [db]
 * @return : void
 * @Description : Redis切换不同db PS:用完一定要切换回原来的DB,不然其他的没办法用
 */
public void redisConnectionFactory(int db) {
    LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) redistemplate.getConnectionFactory();
    lettuceConnectionFactory.setDatabase(db);
    redistemplate.setConnectionFactory(lettuceConnectionFactory);
    lettuceConnectionFactory.resetConnection();
    ValueOperations valueOperations = redistemplate.opsForValue();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐