当前位置: 首页 > news >正文

免费祝福网页在线制作网站在线优化工具

免费祝福网页在线制作,网站在线优化工具,网站小视频怎么做代理商,高端做网站ShardingSphere-读写分离 读写分离 依赖于 MySQL的主从集群 搭建手册查询 走的是从库(Slave)新增、更新、删除走的是主库(Master) MySQL主从集群 节点角色主机地址端口用户名密码库名master192.168.40.1283306rootRoot123456d…

ShardingSphere-读写分离

读写分离

  • 依赖于 MySQL的主从集群 搭建手册
  • 查询 走的是从库(Slave)
  • 新增、更新、删除走的是主库(Master)

MySQL主从集群

节点角色主机地址端口用户名密码库名
master192.168.40.1283306rootRoot@123456db_demo
slave192.168.40.1293306rootRoot@123456db_demo

创建 user

主节点执行见表语句

CREATE TABLE `user`  (`id` bigint NOT NULL,`client_id` bigint NOT NULL,`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`age` int NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

在这里插入图片描述

从节点刷新查看

在这里插入图片描述

项目代码

复用之前的 user 表操作代码即可

读写分离配置

application.yml

# 主从配置  读写分离
server:port: 8081spring:main:# 一个实体类对应两张表,覆盖allow-bean-definition-overriding: trueshardingsphere:datasource:names: m1,s1 # 主库 从库m1:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.40.128:3306/db_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTCusername: rootpassword: Root@123456s1:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.40.129:3306/db_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTCusername: rootpassword: Root@123456sharding:tables:user:# 分表策略  固定分配到主库的user表 即 m1.useractual-data-nodes: m1.user# 主库从库规则定义master-slave-rules:m1:# 主库master-data-source-name: m1# 从库slave-data-source-names: s1props:# 打印SQL日志sql:show: true

测试结果

新增测试

  • 测试类代码
@Test
void insert() {for (int i = 0; i < 5; i++) {User user = new User();user.setId(i + 1);user.setName("user_" + user.getId());user.setClientId(10000);user.setAge(18 + i);userMapper.insert(user);}}
  • 运行结果

操作的必须是主库 对应的数据源 m1
在这里插入图片描述

  • 主库查看

在这里插入图片描述

  • 从库查看

在这里插入图片描述

更新测试

  • 修改前

在这里插入图片描述

  • 测试类代码

修改 id=5 的记录的 name, user_5 => Tom

@Testvoid update() {User user = new User();user.setId(5);user.setName("Tom");userMapper.updateById(user);}
  • 运行结果

操作的必须是主库 对应的数据源 m1

在这里插入图片描述

  • 查看主库

在这里插入图片描述

  • 查看从库

在这里插入图片描述

删除测试

删除 id=5 的记录

  • 测试代码
@Test
void delete() {userMapper.deleteById(5);
}
  • 运行结果

操作的必须是主库 对应的数据源 m1

在这里插入图片描述

  • 查看主库

在这里插入图片描述

  • 查看从库

在这里插入图片描述

查询测试

指定ID查询,查找id为 2、3 的记录

  • 测试代码
@Test
void selectById() {List<User> list = userMapper.selectList(new QueryWrapper<User>().in("id", 2, 3));System.out.println(JSONArray.toJSONString(list));
}
  • 运行结果

操作的必须是从库 对应的数据源 s1

在这里插入图片描述

总结

  • 完美的诠释了 读写分离
  • 验证了 MySQL主从集群的正确性
  • 新增更新删除操作主库同步到从库
  • 查询 只能操作 从库
http://www.dtcms.com/a/619526.html

相关文章:

  • 【题解】P2324 [SCOI2005] 骑士精神 [IDA*]
  • 杭州自助建站网站网站变灰代码 所有浏览器
  • 中国建设银行官网站积分抽奖网站浮窗制作
  • 网站建设四网合一app开发与网站开发的区别
  • Leetcode 55
  • 网站上百度要怎么做的营销网名大全
  • 网站建设 淘宝运营公司网站怎么做啊
  • 研发网站要多久小男生和大人做的网站
  • Python数据分析 -- Pandas基础入门学习笔记:从核心概念到实操代码
  • 怎么在淘宝上做网站wordpress 文章 形式
  • Deap、Seed和Seed4心电数据集详细介绍(附下载链接)
  • 网站LOGO透明底色PNG格式怎么做的wordpress建图片站
  • 工业互联网中的AI与大数据:推动智能化决策的力量
  • 网站为什么百度不收录信誉好的顺德网站建设
  • 西安有哪些网站建设外包公司长沙装修公司电话
  • 一个网站的设计思路wordpress主题侧边栏
  • wordpress站群版丹东市市政建设总公司
  • 【核心完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度
  • 推动门户网站建设不断优化升级wordpress wcps
  • Wooldridge《多Agent系统引论》:知识体系全景
  • 软件体系结构——基本架构演变
  • 做网站首页代码百度正版下载并安装
  • 做评测好的视频网站有哪些格尔木网站建设公司
  • 设计大型网站建设网站合作建设方案
  • 国际域名网站怎么样做英文网站
  • 兰溪市网站建设公司做公司网站需要多
  • 品牌建设网站例子公众号开发哪家专业
  • 学习FreeRTOS(first day)
  • 体育西网站开发设计网站营销怎么做
  • 东营做网站tt0546建筑材料东莞网站建设