问题描述
原切换 db 的方式会使全局的 redisTemplate 被修改掉,并发量稍微高一点,就会影响到其他线程查询 Redis 数据
//原切换db的方式(错误的)
public RedisTemplate initRedis(Integer indexDb){
LettuceConnectionFactory jedisConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
jedisConnectionFactory.setDatabase(indexDb);
redisTemplate.setConnectionFactory(jedisConnectionFactory);
jedisConnectionFactory.resetConnection();
return redisTemplate;
}
解决方案,为每一个 db 创建一个 redisTemplate
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springfra
最后
以上就是慈祥飞鸟最近收集整理的关于多个redistemplate_RedisTemplate 随意切换多个 db 库 不影响其他线程 - 链滴的全部内容,更多相关多个redistemplate_RedisTemplate内容请搜索靠谱客的其他文章。
发表评论 取消回复