MySQL复制问题和解决
目录
环境介绍
一,主库执行delete,从库没有该数据
模拟故障
修复故障
二,主库执行insert,从库已存在该数据
模拟故障
故障恢复
三,主库执行update,从库没有该数据
模拟故障
故障恢复
四,从库relay log文件损坏/缺失
故障模拟
故障恢复
环境介绍
数据库1主2从,mysql版本是v5.19
表结构
一,主库执行delete,从库没有该数据
模拟故障
1.1, 在slave1中奖id = 1的数据delete from hero2 where id = 1
1.2, 在master上执行该数据的delete from hero2 where id = 1
1.3, slave1 上show slave status\G查看
delete from hero2 where id = 1;
master上执行后
mysql> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000038Read_Master_Log_Pos: 463Relay_Log_File: mha2-relay-bin.000020Relay_Log_Pos: 313Relay_Master_Log_File: mysql-bin.000038Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1032Last_Error: Could not execute Delete_rows event on table test.hero2; Can't find record in 'hero2', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000038, end_log_pos 432
修复故障
由于master上删一条记录,而slave上找不到,那么slave上直接跳过即可;
mysql> stop slave;
Query OK, 0 rows affected (0.00 sec)mysql> set global sql_slave_skip_counter = 1;
Query OK, 0 rows affected (0.00 sec)mysql> start slave;
Query OK, 0 rows affected (0.01 sec)
或者在my.cnf文件中添加slave-skip-errors = 1032 并重启生效,可以跳过所有这种情况的同步错误
二,主库执行insert,从库已存在该数据
模拟故障
2.1 slave 上insert id = 5的数据
2.2 master 上 insert id = 5的数据
2.3 从库上执行show slave status查看同步失败
主从同步异常报错信息
ysql> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000039Read_Master_Log_Pos: 469Relay_Log_File: mha2-relay-bin.000023Relay_Log_Pos: 360Relay_Master_Log_File: mysql-bin.000039Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1062Last_Error: Could not execute Write_rows event on table test.hero2; Duplicate entry '5' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000039, end_log_pos 438
故障恢复
从库已经有该记录,导致这条记录无法顺利插入,从而导致主从同步异常;这种情况就需要在从库上将多余的记录给delete。
报错信息:Write_rows event on table test.hero2; Duplicate entry '5' for key 'PRIMARY'
报错日志中显示了表名和主键id,所以在slave上执行下面语句:
delete from hero2 where id = 5;
stop slave; start slave;
三,主库执行update,从库没有该数据
模拟故障
3.1 slave上将id = 2的数据delete
mysql> delete from hero2 where id = 2;
Query OK, 1 row affected (0.00 sec)
3.2 master上执行update hero2 set age = 200 where id = 2;
mysql> update hero2 set age = 200 where id = 2;
Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0
3.3 slave上查看主从同步状态
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000039Read_Master_Log_Pos: 757Relay_Log_File: mha2-relay-bin.000024Relay_Log_Pos: 360Relay_Master_Log_File: mysql-bin.000039Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1032Last_Error: Could not execute Update_rows event on table test.hero2; Can't find record in 'hero2', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000039, end_log_pos 726
故障恢复
根据报错信息中的mysql-bin.000039, end_log_pos 726,在主库上查看binlog
[root@mha1 mysql]# mysqlbinlog --no-defaults -vv --base64-output=decode-rows mysql-bin.000039 | grep -A 20 'end_log_pos 726'
#241221 11:27:47 server id 10129 end_log_pos 726 CRC32 0xb8c2e5cc Update_rows: table id 221 flags: STMT_END_F
### UPDATE `test`.`hero2`
### WHERE
### @1=2 /* INT meta=0 nullable=0 is_null=0 */
### @2='dragon' /* VARSTRING(60) meta=60 nullable=0 is_null=0 */
### @3=1001 /* INT meta=0 nullable=0 is_null=0 */
### SET
### @1=2 /* INT meta=0 nullable=0 is_null=0 */
### @2='dragon' /* VARSTRING(60) meta=60 nullable=0 is_null=0 */
### @3=200 /* INT meta=0 nullable=0 is_null=0 */
# at 726
#241221 11:27:47 server id 10129 end_log_pos 757 CRC32 0x3db3f01e Xid = 60
COMMIT/*!*/;
将变更前的数据整理为insert,并插入slave中:然后stop slave; start slave即可;
mysql> insert into `test`.`hero2` values(2,'dragon',1001);
Query OK, 1 row affected (0.05 sec)mysql> stop slave; start slave;
Query OK, 0 rows affected (0.00 sec)Query OK, 0 rows affected (0.00 sec)mysql> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000039Read_Master_Log_Pos: 757Relay_Log_File: mha2-relay-bin.000025Relay_Log_Pos: 360Relay_Master_Log_File: mysql-bin.000039Slave_IO_Running: YesSlave_SQL_Running: Yes
四,从库relay log文件损坏/缺失
故障模拟
4.1 slave上执行stop slave sql_thread;
4.2 master上执行dml操作,从而产生binlog
4.3 slave上删除relay-log
[root@mha2 mysql]# ls mha2-relay-bin.*
mha2-relay-bin.000030 mha2-relay-bin.000032 mha2-relay-bin.000034 mha2-relay-bin.000036 mha2-relay-bin.000038
mha2-relay-bin.000031 mha2-relay-bin.000033 mha2-relay-bin.000035 mha2-relay-bin.000037 mha2-relay-bin.index
[root@mha2 mysql]# \rm mha2-relay-bin.*
[root@mha2 mysql]# ls mha2-relay-bin.*
4.4 stat slave sql_thread; 并查看主从状态,报错1593
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)
mysql> show slave status\G
*************************** 1. row ***************************Slave_IO_State: Waiting for master to send eventMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000042Read_Master_Log_Pos: 194Relay_Log_File: mha2-relay-bin.000031Relay_Log_Pos: 360Relay_Master_Log_File: mysql-bin.000039Slave_IO_Running: YesSlave_SQL_Running: NoReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 1593Last_Error: Error initializing relay log position: Could not open log fileSkip_Counter: 0Exec_Master_Log_Pos: 1563Relay_Log_Space: 32126695Until_Condition: None
4.5 查看主库数据
mysql> select count(1) from hero2;
+----------+
| count(1) |
+----------+
| 1835008 |
+----------+
1 row in set (0.59 sec)
查看从库数据
mysql> select count(1) from hero2;
+----------+
| count(1) |
+----------+
| 11 |
+----------+
1 row in set (0.00 sec)
此时许多数据在relay-log里面丢失了
故障恢复
根据Relay_Master_Log_File: mysql-bin.000039 和Exec_Master_Log_Pos: 1563
来重新搭建主从关系
[root@mha2 server]# sh install_mysqlv57.sh -m 192.168.10.129 mysql-bin.000039 1563
Shutting down MySQL.... SUCCESS!
Starting MySQL. SUCCESS! slave info:
*************************** 1. row ***************************Slave_IO_State: Queueing master event to the relay logMaster_Host: 192.168.10.129Master_User: replMaster_Port: 3358Connect_Retry: 60Master_Log_File: mysql-bin.000039Read_Master_Log_Pos: 17543128Relay_Log_File: mha2-relay-bin.000002Relay_Log_Pos: 10045Relay_Master_Log_File: mysql-bin.000039Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB:
待Seconds_Behind_Master = 0后查看表的数据量确认和主库保持一致,恢复完成
mysql> select count(1) from hero2;
+----------+
| count(1) |
+----------+
| 1835008 |
+----------+
1 row in set (0.59 sec)mysql>
相关文章:
MySQL复制问题和解决
目录 环境介绍 一,主库执行delete,从库没有该数据 模拟故障 修复故障 二,主库执行insert,从库已存在该数据 模拟故障 故障恢复 三,主库执行update,从库没有该数据 模拟故障 故障恢复 四…...
Spark和Hive的区别
1 、 Hive Hive 是基于 Hadoop 的数据仓库工具,同时又是查询引擎, Spark SQL 只是取代的 Hive 的查询引擎这一部分,企业可以使用HiveSpark SQL 进行开发。 Hive 的主要工作如下: 把HQL 翻译长 map-reduce 的代码,并…...
Type-C 接口电热毯:开启温暖智能新时代
在当今科技迅猛发展的时代,智能家居产品如同璀璨繁星般点缀着我们的生活,从智能灯光的温馨到温控系统的精准,处处都彰显着科技赋予生活的便捷与舒适。而在这股追求高效与智能化的洪流之中,一款极具创新的电热毯——Type-C 接口电热…...
React 19新特性探索:提升性能与开发者体验
React作为最受欢迎的JavaScript库之一,不断推出新版本以应对日益复杂的应用需求。React 19作为最新的版本,引入了一系列令人兴奋的新特性和改进,旨在进一步提升应用的性能、开发效率和用户体验。 本文将深入探讨React 19的新特性,…...
【数据库】SQL语句基础
【数据库】SQL语句基础 文章目录 【数据库】SQL语句基础一、SQL与数据库二、 SQL语句类型2.1 数据定义语言(DDL)1. 创建数据库:CREATE DATABASE2. 创建表:CREATE TABLE3. 删除表:DROP TABLE4. 修改表结构:A…...
性能】JDK和Jmeter的安装与配置
一、JDK环境配置 1. 下载JDK 官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html 选择对应系统的安装包,下载后安装,安装中记录JDK安装的地址,之后一直点击下一…...
Hadoop、Hbase使用Snappy压缩
1. 前期准备 系统环境:centos7.9 配置信息:8C8G100G hadoop和hbase为单节点部署模式 jdk版本jdk1.8.0_361 1.1. 修改系统时间 timedatectl set-timezone <TimeZone> 1.2. 修改主机名以及主机名和IP的映射 vim /etc/hosts #将自己的主机名以及…...
初试Docker
1. 查看版本 docker --version2. 拉取镜像并查看当前存在的镜像 docker pull hello-world查看是否成功拉取到docker docker images在Docker Desktop 可视化查看 3. 删除镜像 docker rmi xxx4. 启动容器 以下命令使用 mysql镜像启动一个容器,参数为以命令行模…...
【Rust自学】4.5. 切片(Slice)
4.5.0. 写在正文之前 这是第四章的最后一篇文章了,在这里也顺便对这章做一个总结: 所有权、借用和切片的概念确保 Rust 程序在编译时的内存安全。 Rust语言让程序员能够以与其他系统编程语言相同的方式控制内存使用情况,但是当数据所有者超…...
番外:ubuntu 下的sqlite3
What Is SQLite? SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world ps:SQLite Home Page sqlite3 的安装: user…...
全脐点曲面当且仅当平面或者球面的一部分
S 是全脐点曲面当且仅当 S 是平面或者球面的一部分。 S_\text{ 是全脐点曲面当且仅当 }{S_\text{ 是平面或者球面的一部分。}} S 是全脐点曲面当且仅当 S 是平面或者球面的一部分。 证: 充分性显然,下证必要性。 若 r ( u , v ) r(u,v) r(u,v)是…...
Vue之版本演进
一、引言 Vue.js,发音为 /vjuː/,是一款轻量级的用于构建用户界面的渐进式JavaScript框架。自2014年由前Google工程师尤雨溪(Evan You)发布以来,Vue.js凭借其简洁的API、灵活的组件系统以及高效的性能,迅速…...
四川托普信息技术职业学院教案1
四川托普信息技术职业学院教案 【计科系】 周次 第 1周,第1次课 备 注 章节名称 第1章 XML语言简介 引言 1.1 HTML与标记语言 1.2 XML的来源 1.3 XML的制定目标 1.4 XML概述 1.5 有了HTML了,为什么还要发展XML 1.5.1 HTML的缺点 1.5.2 XML的特点 1.6 X…...
《Java核心技术I》Swing中的边框
边框 BorderFactory静态方法创建边框,凹斜面,凸斜面,蚀刻,直线,蒙版,空白。 边框添加标题,BorderFactory.createTitledBorder 组合边框,BorderFactory.createCompoundBorder JCo…...
xlua中自定义lua文件加载的一种方式
此种方法来自LoxodonFramework,这里只做记录 定义一个LoaderBase类,做一个到CustomLoader的隐式类型转换 public abstract class LoaderBase {protected abstract byte[] Load(ref string fileName);/// <summary>/// 隐式类型转换,将…...
Suno Api V4模型无水印开发「高清音频WAV下载」 —— 「Suno Api系列」第6篇
历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中,支持120并发任务 Suno Api V4模型无水印开发「灵感模式」 —— 「Suno Api系列」第1篇 Suno Api V4模型无水印开发「自定义模式」 —— 「Suno Api系列」第2篇 Suno Api V4模型无水印开发「AI生成歌词」…...
EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay1
AssignmentBeta SprintCourseEE308FZ[A] — Software EngineeringClass Link2401_MU_SE_FZURequirementsSixth Assignment——Beta SprintTeam NameFZUGOObjectiveSprint Essay 1_Day1-Day2 (12.11-12.12)Other Reference1. WeChat Mini Program Design Guide 2. Javascript St…...
github如何给本机绑定 ssh密钥(MACOS)
生成 SSH 密钥 如果没有现成的密钥,执行以下命令来生成一个新的 SSH 密钥: ssh-keygen -t rsa -b 4096 -C "替换为你的邮箱" 添加 SSH 密钥到 SSH 代理 在终端中运行以下命令,启动 SSH 代理: eval "$(ssh-agen…...
使用Python实现基于AR的教育应用:打破课堂的墙壁
友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…...
【数据分析】层次贝叶斯
文章目录 一、 贝叶斯推理二、 层次贝叶斯模型三、 层次贝叶斯的特点四、 数学表述五、推断方法六、应用领域 层次贝叶斯(Hierarchical Bayesian)方法是一种基于贝叶斯推理的统计模型,用于处理具有多个层次结构的数据模型。 它允许我们在同一…...
linux top命令刷新速度的原理
top命令刷新速度的原理 top命令默认会按照一定的时间间隔(通常是3秒)更新系统资源使用情况的显示内容。它通过读取系统的/proc文件系统中的相关文件(如/proc/stat用于CPU信息、/proc/meminfo用于内存信息等)来获取最新的进程和资源…...
bestphp‘s revenge
bestphp’s revenge 知识点 php session反序列化 解题 <?php highlight_file(__FILE__); $b implode; call_user_func($_GET[f], $_POST); //参数二的位置固定为 $_POST 数组,我们很容易便想到利用 extract 函数进行变量覆盖,以便配合后续利用…...
中化信息与枫清科技深化合作:共探“AI+”产业新生态
随着数字化转型的浪潮席卷全球,数据已成为推动创新和经济增长的关键力量。为持续深化数据要素价值挖掘与应用实践,推动打造行业交流平台,驱动产业创新共荣,2024 年 12 月 18 日 -19 日,由中国通信标准化协会主办的“20…...
Java性能测试Benchmark使用总结
如何测量Java代码的性能 在 Java 中,可以使用多种方法来测量一段代码的执行性能。使用 System.currentTimeMillis()是最常见的方法 long startTime System.currentTimeMillis();// 需要测量的代码块 for (int i 0; i < 1000000; i) {// 示例代码 }long endTi…...
完整微服务设计 功能实现
我们将以一个简单的电商系统为例,实现微服务架构,逐步用Java代码详细实现每个模块,并配合注释帮助小白理解。在这个实现中,我们使用以下工具和框架: Spring Boot:用于构建微服务。Spring Cloud:…...
【Java基础面试题025】什么是Java的Integer缓存池?
回答重点 Java的Integer缓存池(Integer Cache)是为了提升性能和节省内存。根据实践发现大部分的数据操作都集中在值比较小的范围,因此缓存这些对象可以减少内存分配和垃圾回收的负担,提升性能 在 -128到127范围内的Integer对象会…...
道可云人工智能元宇宙每日资讯|浙江工商大学发布“人工智能时代创新型人才培养行动计划”
道可云元宇宙每日简报(2024年12月20日)讯,今日元宇宙新鲜事有: 浙江工商大学发布“人工智能时代创新型人才培养行动计划” 12月18日,浙江工商大学发布了《人工智能时代创新型人才培养行动计划》,提出人工…...
树莓派4B 搭建openwrt内置超多插件docker,nas等等使用教程
刷入固件 (想要固件的加我vx wyy7293) bleachwrt-plus-20241112-bcm27xx-bcm2711-rpi-4-squashfs-factory.img上电,并且把网线两头分别插在pi网口上和电脑的网口上(电脑必须断网) 等待网口灯亮,进入192.168.1.1 默认账密 root password 进入系统后更改openwrt的网关地址相关…...
excel 列名是数据表 的字段名 ,单元格的值 是数据表对应字段的值,生成sql插入语句
在 Excel 中,按 Alt F11 打开 VBA 编辑器。在菜单栏选择 插入 -> 模块,在新模块中粘贴以下代码。 VBA 代码 Sub GenerateSQLInsertStatementsToFile()Dim ws As WorksheetDim lastRow As Long, lastCol As Long, i As Long, j As LongDim sql As S…...
【Rust自学】4.3. 所有权与函数
4.3.0 写在正文之前 在学习了Rust的通用编程概念后,就来到了整个Rust的重中之重——所有权,它跟其他语言都不太一样,很多初学者觉得学起来很难。这个章节就旨在让初学者能够完全掌握这个特性。 本章有三小节: 所有权࿱…...
OpenShift 4 - 多云管理(2) - 配置多集群观察功能
《OpenShift / RHEL / DevSecOps 汇总目录》 本文在 OpenShift 4.17 RHACM 2.12 环境中进行验证。 文章目录 多集群观察技术架构安装多集群观察功能监控多集群的运行状态监控多集群的应用运行在被管集群监控应用运行在管理集群监控被管集群的应用运行 参考 多集群观察技术架构…...
【机器学习】机器学习的基本分类-强化学习(Reinforcement Learning, RL)
强化学习(Reinforcement Learning, RL)是一种基于试错的方法,旨在通过智能体与环境的交互,学习能够最大化累积奖励的策略。以下是强化学习的详细介绍。 强化学习的核心概念 智能体(Agent) 执行动作并与环境…...
Docker 设置代理的三种方法(2024年12月19日亲自测试)
Docker 设置代理的三种方法 在 Docker 中设置代理是非常常见的需求,尤其是在某些需要通过代理访问外部资源的网络环境下。本文将介绍三种配置 Docker 使用代理的常见方法:通过 daemon.json 配置镜像加速器、通过 daemon.json 配置 HTTP/HTTPS 代理、以及…...
Pycharm配置Python开发环境
Pycharm配置Python开发环境 在之前的文章中,安装好了Pyhton和Pycharm。 打开Pycharm,如下图 配置完成之后,如下图所示:...
【信息系统项目管理师】高分论文:论信息系统项目的进度管理(一体化智能公共数据平台)
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、规划进度管理2、定义活动3、排列活动顺序5、制定进度计划6、控制进度论文 2022年9月,我作为项目经理参加了XX市的一体化智能公共数据平台项目的建设工作,2022年是XX市政府数字化改革的元年,全市上下…...
Chromium CDP 开发(十):Chromium 中增加自己的Domain
1. 引言 在深入了解了 Chromium CDP(Chrome DevTools Protocol)的开发过程之后,接下来我们将探讨如何创建一个自定义的 CDP Domain。通过为特定功能创建自己的 CDP Domain,可以避免对已有的 CDP 进行侵入式修改,从而更…...
《基于 Python 的网页爬虫详细教程》
一、引言 在当今信息时代,从互联网上获取大量有价值的数据对于许多领域的研究和分析至关重要。网页爬虫是一种自动化程序,可以从网页上抓取所需的数据。Python 作为一种强大的编程语言,拥有丰富的库和工具,使得网页爬虫的开发变得…...
前端知识图谱 - JavaScript基础(变量和类型)
变量和类型 1. JavaScript 规定了几种语言类型? JavaScript 语言的每一个值都属于某一种数据类型,它规定了 7 种语言类型。语言类型广泛用于变量、函数参数、表达式、函数返回值等场合,根据最新的语言标准,这 7 种语言类型如下&…...
五十个网络安全学习项目——(九)无线网络安全分析
五十个网络安全学习项目——(九)无线网络安全分析 这个系列灵感来源是:50个网络安全项目创意:覆盖新手至专家级,本人打算把这些项目都做一遍,做好记录,也算是对自己的提升。 本文将对WAPI 协议…...
10. 考勤信息
题目描述 公司用一个字符串来表示员工的出勤信息 absent:缺勤late: 迟到leaveearly: 早退present: 正常上班 现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下: 缺勤不超过一次,没有连续的迟到/早退:任意连续7次考勤&a…...
预览和下载 (pc和微信小程序)
1.微信小程序 预览pdf 或者 图片等 //utils.js 文件//通过接口返回文件链接 打开文档 export default function previewFile({ downLinkUrl, tempFilePath }) {let url "https://" downLinkUrl.replace("http://", "").replace("https:…...
Redis 7.x如何安装与配置?保姆级教程
大家好,我是袁庭新。最新写了一套最新版的Redis 7.x企业级开发教程,今天先给大家介绍下Redis 7.x如何在Linux系统上安装和配置。 1 Redis下载与安装 使用非关系型数据库Redis必须先进行安装配置并开启Redis服务,然后使用对应客户端连接使用…...
序列化和反序列化(一)
因为通过这段时间的学习,发现,序列化和反序列化的考点和漏洞在平时遇到的还是比较多的,而且自己也没有特别去学习过这个知识点,所以在这里写一篇关于这里序列化和反序列话的博客,废话就停止在这里了。 在介绍具体的序列…...
1小时放弃Rust(2): 两数之和
1. 目的 陈越姥姥说,ACM拿奖的人有两类,一类是 NOIP 搞了好几年的,另一类是大学才开始搞 ACM 但是专注度远超常人的人。 学习 Rust 大概也是需要高度的专注度。让我试一下 ACM 的入门题目 AB 吧! 2. 题目地址 https://leetcod…...
罗德与施瓦茨NRP33SN,一款独立、特性齐全的功率探头
罗德与施瓦茨NRP33SN功率探头概述 ROHDE & SCHWARZ NRP33S 三路二极管功率传感器 罗德与施瓦茨 NRP33S 三路二极管功率传感器是一款独立 、特性齐全的仪器。它们可以通过罗德与施瓦茨 NRP2 基 本单元、通过 USB 的笔记本电脑/PC 以及许多罗德与施瓦 茨仪器(例如…...
【GoF23种设计模式】02_单例模式(Singleton Pattern)
文章目录 前言一、什么是单例模式?二、为什么要用单例模式?三、如何实现单例模式?总结 前言 提示:设计者模式有利于提高开发者的编程效率和代码质量: GoF(Gang of Four,四人帮)设计…...
springboot452当代中国获奖的知名作家信息管理系统的设计与实现(论文+源码)_kaic
摘 要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除了,让整个世界都可以即时通话…...
基于Redis的网关鉴权方案与性能优化
文章目录 前言一、微服务鉴权1.1 前端权限检查1.2 后端权限检查1.3 优缺点 二、网关鉴权2.1 接口权限存储至Redis2.2 网关鉴权做匹配 总结 前言 在微服务架构中,如何通过网关鉴权结合Redis缓存提升权限控制的效率与性能。首先,文章对比了两种常见的权限…...
FutureWarning: `clean_up_tokenization_spaces` was not set.
警告内容: "clean_up_tokenization_spaces was not set. It will be set to True by default. This behavior will be deprecated in transformers v4.45, and will be then set to False by default. For more details check this issue: https://github.com…...
卫星综合电子软件系统
微小卫星星载综合电子系统采用星上总线网络将星载功能模块互相连接,实现微小卫星平台的模块集成、资源重组优化以及内部信息共享和综合利用。综合电子系统是微小卫星的核心组成部分,是整星的信息和控制中心。 包括遥控遥测管理系统、载荷管理系统、 热控…...