解决办法

新建一个RedisDBChangeUtil.java

@Component

public class RedisDBChangeUtil {

@Autowired

private StringRedisTemplate redisTemplate;

public void setDataBase(int num) {

LettuceConnectionFactory connectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();

if (connectionFactory != null && num != connectionFactory.getDatabase()) {

connectionFactory.setDatabase(num);

this.redisTemplate.setConnectionFactory(connectionFactory);

connectionFactory.resetConnection();

}

}

}

需要注意的地方:

LettuceConnectionFactory 是 在springboot 2.X版本使用,

但是springboot 版本 spring-boot-starter-data-redis 的版本对这个redis切换db非常不友好!

测试一下:(版本:2.1.3.RELEASE)

如果不是以上的版本的话,切换数据库是没有效果的,数据都会插入到默认的db0中。

@RestController

@RequestMapping("/")

public class RedisStringController {

@Resource

private StringRedisTemplate stringRedisTemplate;

@Resource

private RedisDBChangeUtil redisDBChangeUtil;

@PostMapping("/changeDb")

public String changeDb(){

//默认的插入

stringRedisTemplate.opsForValue().set("name","db0");

//插入db1

redisDBChangeUtil.setDataBase(1);

stringRedisTemplate.opsForValue().set("name1","db1");

//插入db2

redisDBChangeUtil.setDataBase(2);

stringRedisTemplate.opsForValue().set("name2","db2");

return "ok";

}

}

java redis db0 db1_SpringBoot-技术专区-Redis同数据源动态切换db相关推荐

  1. Java 全能手册火了!Redis/Nginx/Dubbo/Spring 全家桶/啥都有

    前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果. 本来想将文件上传到github上 ...

  2. Redis集群技术及Codis实践

    前言 诚如开篇文章所言,高效运维包括管理的专业化和技术的专业化.前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化.希望读者朋友们能适应这个转换,谢谢. 互联网早在几年前就已进入Web 2.0时 ...

  3. java redis hession_spring: 整合 springmvc shiro redis hessian rocketMQ

    基于springmvc 集合各技术框架 该应用集成技术种类有: 1. shiro Apache Shiro是Java的一个安全框架.Shiro可以帮助我们完成:认证.授权.加密.会话管理.与Web集成 ...

  4. redis db0 到 db15_深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  5. B2C商城项目源码,基于Java开发的高可用分布式B2C商城系统,Java+Spring MVC+Dubbo+Zookeeper+MySQL+Redis+FastDFS+Nginx+Solr

    目录 前言 B2C商城-AIYOU 一.项目总体架构 二.系统软硬件设施总体规划 1.系统服务规划 2.应用服务规划 3.应用系统域名规划 三.系统运行环境构建 四.项目数据库创建 五.项目拉取 六. ...

  6. Java中高级核心知识全面解析——Redis(集群【概述{主从复制、哨兵、集群化}、数据分区方案、节点通信机制、数据结构简析】)5

    目录 一.[集群]入门实践教程 1.Redis 集群概述 1)Redis 主从复制 2)Redis 哨兵 3)Redis 集群化 2.主从复制 1)主从复制主要的作用 2)快速体验 ①.第一步:本地启 ...

  7. java面试突击-2022最新迭代redis\mq\springCloud-纯手打

    本博客是本人纯手打然后去网上百度的图片,转发请注明出处 按照自己的理解适合给初级程序员找工作用的 顺便给自己回顾一下,都是按照自己的理解来写的,有的地方不通顺或者不理解可以问我,有写不对的地方或者不同 ...

  8. 深圳 GIAC 技术大会 Redis 演讲文字稿

    观众朋友们,我是来自掌阅的工程师钱文品,今天我带来的是分享主题是:Redis 在海量数据和高并发下的优化实践.Redis 对于从事互联网技术工程师来说并不陌生,几乎所有的大中型企业都在使用 Redis ...

  9. GIAC 技术大会 Redis 演讲文字稿

    附录:https://mp.weixin.qq.com/s/mvAkPXBayAzT_RWFdsOt5A 观众朋友们,我是来自掌阅的工程师钱文品,今天我带来的是分享主题是:Redis 在海量数据和高并 ...

最新文章

  1. 能在不同的深度学习框架之间转换模型?微软的MMdnn做到了
  2. python连接access数据库查询并打印出来_Python连接Access和读取Access数据库的例子
  3. JVM 垃圾回收器工作原理及使用实例介绍
  4. Glide 框架解析
  5. 实战:Python 轻松实现自动化谷歌翻译!
  6. CocoaPods的使用
  7. 如何使用Angular Generator创建新的Component
  8. AI部署从EonStor GSi存储解决方案开始
  9. lhdc协议是什么_无线耳机标注的编码是什么意思?看懂了会少很多坑
  10. IOT [01] -- 物联网平台架构
  11. 樊登读书会掌控读后感_樊登读书刻意练习读后感
  12. 20162327WJH 实验三 《敏捷开发与XP实践》 实验报告
  13. GPIF II designer使用说明+CYUSB3014芯片基本信息介绍——英文文档学习记录
  14. The view Myapp.views.welcome didn‘t return an HttpResponse object. It returned None instead.
  15. uc打开html文件是空的,UC浏览器中打开不出现主页的解决方法
  16. 国家自然科学基金成果填写经验
  17. 公众号 接入微信支付
  18. 看了《流浪地球2》海报,我想教你用PPT说浪漫情话!
  19. P8大佬出书了!送送送!
  20. CY13-Q2 OpenStack、OpenNebula、Eucalyptus、CloudStack社区活跃度比较

热门文章

  1. v-html可能导致的问题
  2. 替换后的最长重复字符
  3. 华为新系统鸿蒙在哪更新,暂定3月,华为新系统登场!开始切换至鸿蒙OS,37款机型支持升级...
  4. opencv 测试安装完成_opencv4.3 的安装(linux)
  5. 如何编写好的C main函数
  6. devops_将DevOps带到教室
  7. LeetCode 5. 最长回文子串
  8. Bootstrap3 地址元素样式
  9. CSS3 Flex布局弹性容器的属性
  10. android代码使用adb,如何使用adb在Android 11上触发BroadcastReceiver?