SpringBoot Redis切换db

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

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

/**
 * @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 版本以上 用下面的这个方法,无论用哪一个,必定要记得用完切换回原来的库get

/**
 * @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();
}
相关文章
相关标签/搜索