SpringBoot Redis切换db

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

转载于:https://my.oschina.net/u/3526783/blog/3052199

你可能感兴趣的:(SpringBoot Redis切换db)