概述
问题描述
原切换 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 随意切换多个 db 库 不影响其他线程 - 链滴所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复