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();
}
相關文章
相關標籤/搜索