运行期间动态切换Redis数据库

public void selectDB(int db) {
        LettuceConnectionFactory factory =
                (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
        factory.setDatabase(db);
        factory.resetConnection();
        redisTemplate.setConnectionFactory(factory);
    }

注意几点问题

1.setDatabase之后必须reset否则无法切换,因为连接池连接初始化了,必须reset

2.并发存在问题,setDatabase是线程不安全的,存在脏数据,请加锁

3.LettuceConnectionFactory不一定是这样类接受引用,根据使用不同的连接池不同而不同

全部评论

相关推荐

不对是145个人…嗯… 大家都没发现秋招提前批来了嘛..笑死我了
牛客39712426...:投了也是浪费时间,之前投米实习,除了浪费我时间写笔试题没有任何反馈,懒得投了
26届校招投递进展
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务