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