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