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();
}

相关文章

在笔者近 3 年的 Java 一线开发经历中,尤其是一些移动端、用...
这一篇文章拖了有点久,虽然在项目中使用分布式锁的频率比较...
本文梳理总结了一些 Java 互联网项目中常见的 Redis 缓存应用...
书接上回,消息通知系统(notification-system)作为一个独立...
Redis 是目前互联网后端的热门中间件之一,在许多方面都有深...
在Java Spring 项目中,数据与远程数据库的频繁交互对服务器...