背景:项目需求 redis缓存,不同信息 需要存储在不同的db
版本:spring boot 2.0 以上
思路:定义一个 index入参,指定db索引
缺点:每次和存储信息 和 读取信息 都要指定一个index 效率比较低
代码:
redisTest类
@Component
public class RedisTest {
@Resource
private StringRedisTemplate stringRedisTemplate;
public StringRedisTemplate getStringRedisTemplate(int index){
LettuceConnectionFactory lettuceConnectionFactory = (LettuceConnectionFactory) stringRedisTemplate.getConnectionFactory();
lettuceConnectionFactory.setShareNativeConnection(false);
lettuceConnectionFactory.setDatabase(index);//指定索引
stringRedisTemplate.setConnectionFactory(lettuceConnectionFactory);
return stringRedisTemplate;
}
public void set(int i, String key, String value){
getStringRedisTemplate(i).opsForValue().set(key,value);
}
使用方式:
@Resource
private RedisTest redisTest;// 注入依赖
// 每次存储数据 指定db索引 和 key value 的值就好
redisTest.set(7,"test7","test7");
redisTest.set(0,"test0","test0");