自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翔云

Just try, don't shy.

  • 博客(752)
  • 资源 (15)
  • 收藏
  • 关注

原创 Python 中的 `lru_cache` 详解

它会自动缓存函数的计算结果,当使用相同的参数再次调用时直接返回缓存结果,避免重复计算。,清理操作只会影响调用它的特定函数实例,不会影响其他函数或模块的缓存。在 Gunicorn/Uvicorn 等多进程部署中,→ 重新输出 “小型缓存计算: 3”(缓存失效)类中的不同实例共享同一个缓存(除非使用实例方法)→ 清理操作只影响当前工作进程的缓存。→ 输出 “小型缓存计算: 3”→ 输出 “大型缓存计算: 3”模块提供的装饰器,用于实现。是 Python 标准库。(证明两个函数缓存独立)在 Python 的。

2025-06-14 14:42:52 557

原创 精准测量 MySQL 主从复制延迟—pt-heartbeat工具工作原理

本质:通过“主库打时间戳 → 从库重放 → 本地计算时间差”实现延迟测量。优势精度高(微秒级)、可靠性强(不受主库空闲影响)、兼容任意MySQL版本。适用场景读写分离架构的延迟监控;主从切换前的数据一致性校验;复制性能瓶颈分析。📌部署建议。

2025-06-14 14:05:26 442

原创 MySQL从库复制延迟的监测

监测方法精准度部署复杂度适用场景主要缺陷⭐⭐⭐快速概览延迟趋势易受时间同步/网络中断干扰Binlog位点对比⭐⭐⭐⭐⭐判断事务堆积量无法量化延迟时间⭐⭐⭐⭐⭐⭐⭐跨版本通用,需高精度监控需维护心跳进程,污染binlogMySQL 8.0+ GTID时间戳⭐⭐⭐⭐⭐⭐⭐事务级延迟分析,复杂复制拓扑仅限MySQL 8.0+且需GTID⭐⭐⭐⭐⭐⭐⭐⭐读写分离一致性保障需业务改造传递GTID。

2025-06-14 13:22:51 576

原创 Python Wheel 打包基本原理详解

Wheel作为Python打包生态的核心组件,其设计体现了Python社区对"简单比复杂更好"哲学理念的实践,是Python软件分发现代化的基石。格式,提供更快速、可靠的安装体验。)是Python的官方二进制包格式,旨在替代传统的。验证RECORD签名。

2025-06-08 15:37:29 757

原创 Python Web项目打包(Wheel)与服务器部署全流程

通过此方案,您可以实现Python Web项目的标准化打包和可靠的生产环境部署,适用于Flask、Django、FastAPI等主流Web框架。

2025-06-08 15:27:28 421

原创 Python项目的构建和部署方案推荐

根据团队规模和项目复杂度选择合适方案,初期建议从容器化(Docker Compose)起步,逐步过渡到Kubernetes集群管理。Python项目的构建和部署有多种成熟方案,根据项目规模和需求可选择不同工具链。

2025-06-08 15:17:45 897

原创 2025年AI编程工具推荐

2025年,AI编程工具已从辅助工具升级为开发流程的核心生产力引擎。这些工具不仅能大幅提升编码效率、降低错误率,还推动了“自然语言驱动开发”的新范式。当前工具已实现“需求→代码”的转化,未来将向多模态交互(如AR可视化代码)、自主调试等方向演进。选型时需结合项目规模、技术栈及隐私要求,善用免费资源(如Trae、Windsurf)可显著降低开发成本。这类工具重新定义了集成开发环境,深度融合AI能力,支持从代码生成到调试部署的全流程。,但需注意:AI更擅长执行而非设计,系统架构与核心逻辑仍需人工把控。

2025-06-07 22:59:34 560

原创 tmux基本原理

成为系统管理员和开发者的核心生产力工具,尤其适合远程服务器管理和复杂工作流场景。,通过解耦终端显示与运行进程实现会话持久化。(Terminal Multiplexer)的核心原理基于。

2025-05-31 22:28:12 518

原创 ssh连接断开,保持任务后台执行——tmux

它能让用户在一个连接中执行多个任务,并在断开连接后保持任务后台运行,非常适合远程服务器管理或长时间运行的任务。掌握 tmux 可极大提升终端工作效率,尤其适合管理服务器或复杂工作流。)是一个强大的终端复用工具,用于在单个终端窗口中管理多个。Ctrl+b 方向键。

2025-05-31 22:25:07 399

原创 binlog 解析工具——my2sql

my2sql是一款基于 Go 语言开发的 MySQL binlog 解析工具,支持从二进制日志(binlog)中生成原始 SQL、回滚 SQL(闪回 SQL)、去除主键的 INSERT SQL 等,还能生成 DML 操作统计信息。数据快速回滚(闪回):通过逆向解析 binlog 生成反向 SQL,恢复误删除或误修改的数据。主从数据一致性修复:主从切换后新主库数据丢失时,通过 binlog 恢复数据。生成标准 SQL 与统计信息:用于审计、数据迁移,或分析高频更新表、大事务及主从延迟问题。

2025-05-25 15:43:18 861 1

原创 binlog解析工具——binlog2sql

binlog2sql是一款开源的 Python 工具,用于解析 MySQL 的 binlog 文件,生成标准 SQL 或回滚 SQL,实现数据恢复和衍生功能。数据快速回滚(闪回):通过解析 binlog 生成反向 SQL,恢复误删除或误修改的数据。主从切换修复:当主从切换后新主库数据丢失时,通过 binlog 恢复数据一致性。生成标准 SQL:用于审计、数据迁移或分析数据库操作历史。

2025-05-25 13:05:32 704

原创 Buffer Pool如何进行预热

在 MySQL 中,Buffer Pool 预热(Warm-Up) 是指将数据库重启后需要高频访问的数据页提前加载到内存中,以减少冷启动时因磁盘 I/O 导致的性能下降

2025-04-27 07:00:00 610

原创 聚簇索引是否会全部加载到内存

在 MySQL 的 InnoDB 存储引擎中,聚簇索引的数据不会全部加载到内存中。

2025-04-27 06:30:00 268

原创 Buffer Pool是什么,有什么作用

在 MySQL 的 InnoDB 存储引擎中,Buffer Pool(缓冲池) 是 内存中的核心组件,负责缓存表数据、索引和其他 InnoDB 相关的数据结构。

2025-04-26 21:58:00 656

原创 关于聚簇索引

聚簇索引(Clustered Index)是 一种将数据行物理存储顺序与索引键值逻辑顺序紧密结合的索引结构。在 MySQL 的 InnoDB 引擎中,聚簇索引直接决定了表中数据的物理排列方式,因此每个表有且只有一个聚簇索引。

2025-04-26 21:53:45 334

原创 MySQL二进制日志格式有哪几种

在 MySQL 中,二进制日志(Binary Log)的格式决定了主库如何记录数据的变更事件,并直接影响复制的行为和一致性。通过合理选择二进制日志格式,可以优化 MySQL 的复制性能和数据一致性。如果对数据一致性要求极高,建议始终使用。:记录数据行的实际变更(修改前/后的行数据),而非 SQL 语句。等),从库通过重放这些 SQL 语句实现数据同步。以下是每种格式的详细说明及其事务的事件组成。二进制日志中会记录完整的 SQL 语句。:记录实际执行的 SQL 语句(如。的行数据变更前后的值(如旧值。

2025-03-18 22:50:11 1101

原创 为什么“连接断开可能导致锁未释放”

大多数情况下:数据库会在连接断开时自动释放锁,但需依赖数据库的实现和配置。极端场景下:因网络问题、数据库检测延迟或代码缺陷,锁可能未及时释放,导致类似死锁的阻塞问题。解决方案:通过事务超时设置、完善的代码逻辑和运维监控降低风险。

2025-03-18 22:45:31 800

原创 分布式锁的实现

分布式锁是分布式系统中协调多节点并发访问共享资源的机制,其核心目标是保证在分布式环境下同一时刻只有一个客户端能执行关键操作。

2025-03-18 22:23:21 1022

原创 deepseek推荐10本程序员必读书籍

以下是提升程序员技能的10本经典书籍推荐,涵盖编程思想、算法、系统设计、代码质量及职业发展等核心领域,结合多个权威来源整理而成。

2025-02-23 22:03:08 630

原创 2024年度总结

用一百分总结这一年,给自己打85分。这一年工作和生活还算凑合,虽然比较忙碌和疲劳。

2025-02-09 21:30:00 352

原创 SQL中 的exists用法

EXISTS 是 SQL 中的一个子查询条件,用于检查子查询是否返回任何行。如果子查询返回至少一行,则 EXISTS 返回 TRUE。

2025-02-08 21:45:42 642

原创 MySQL中DDL操作是否支持事务

MySQL中DDL不支持事务。

2025-02-08 21:39:31 481

原创 如何限制SQL的执行时间(max_execution_time)

在MySQL中,max_execution_time是一个系统变量,用于限制SQL语句的最大执行时间。当一个查询的执行时间超过这个设置的阈值时,MySQL会尝试终止并停止该查询的执行。这个功能主要用于防止某些查询因为执行时间过长而占用过多的系统资源,从而影响数据库的整体性能和响应时间。

2025-01-18 11:32:52 863

原创 kill SQL (pt-kill工具)

pt-kill是Percona Toolkit工具集中的一个工具,用于监控MySQL查询并根据指定的条件自动终止长时间运行的查询。这个工具非常有用,特别是在需要管理和控制数据库资源使用,防止长时间运行的查询占用过多资源,影响数据库性能的情况下。

2025-01-18 11:32:32 432

原创 在MySQL 主库上进行自动清理 purged gtid 时,会等待 binlog复制到从库吗

在MySQL中,自动清理purged GTID的过程确实会考虑到binlog是否已经复制到从库。

2024-12-25 22:21:52 605

原创 errant是怎么产生的

在MySQL中,errant GTID(错误GTID)是指在从库上存在但在主库上不存在的GTID。这通常是由于在从库上执行了不应存在的事务或在主库上未能正确复制的事务所导致的。

2024-12-25 22:10:47 506

原创 MySQL purged gtid是如何生成和维护的

在MySQL中,gtid_purged表示已清除的GTID集合。

2024-12-24 22:57:01 557

原创 MySQL中Seconds_Behind_Master是怎么计算的

在MySQL中,Seconds_Behind_Master是一个用于表示从库(Slave)落后于主库(Master)的时间(以秒为单位)的指标。

2024-12-24 22:48:06 1247

原创 raft: Failed to contact

一个分布式服务是基于raft分布式协议开发的,在一个新版本上线后,出现了Leader比较频繁的漂移问题。

2024-12-21 23:11:15 1054

原创 MySQL 怎么不丢数据(关于开启双1配置)

在MySQL中,"双1"配置指的是将innodb_flush_log_at_trx_commit设置为1和sync_binlog设置为1。这两个设置都与数据的持久性和一致性有关,特别是在面对系统崩溃或意外重启的情况下。使用"双1"配置可以最大限度地保证MySQL数据库在面对系统崩溃或电源故障等情况时的数据安全和一致性。即使在这些极端情况下,也能确保所有已提交的事务不会丢失。

2024-11-18 23:00:00 901

原创 executed_gtid_set 与 purged_gtid_set

executed_gtid_set 和 purged_gtid_set 是 MySQL 复制中与 GTID(全局事务标识符)相关的两个重要概念。

2024-11-18 22:30:00 349

原创 MVCC(多版本并发控制)

MVCC(多版本并发控制)是一种用于数据库管理系统中实现并发控制的技术。它允许多个事务同时对数据库进行读写操作,而不会相互干扰,从而提高数据库系统的性能和可用性。MVCC通过为每个事务创建数据的“快照”来工作。MVCC是实现某些事务隔离级别的一种机制,特别是在实现读已提交(Read Committed)和可重复读(Repeatable Read)隔离级别时非常有效。

2024-10-05 17:37:11 665

原创 数据库的隔离级别

数据库的隔离级别主要有四种,从低到高依次是:1. 读未提交(Read Uncommitted)2. 读已提交(Read Committed)3. 可重复读(Repeatable Read)4. 串行化(Serializable)

2024-10-05 17:25:57 1107

原创 Go语言的垃圾回收(GC)机制的迭代和优化历史

Go语言的垃圾回收(GC)机制自Go语言发布以来经历了多次重要的迭代和优化,以提高性能和减少程序运行时的停顿时间。

2024-09-21 10:40:25 790 1

原创 Prometheus相关的语言客户端

Prometheus官方提供了多种语言的客户端库,以便开发者可以在不同的编程语言中集成Prometheus监控。

2024-09-16 17:03:33 1272

原创 系统可观测性

可观测性(Observability)是指通过外部输出来理解系统内部状态的能力。在软件工程和系统管理领域,它涉及到收集、分析和理解系统生成的数据(如日志、度量和追踪信息),以帮助开发者和运维人员监控系统健康、诊断问题、优化性能和理解系统行为。

2024-09-16 16:47:40 603

原创 go gc信息如何查看

在Go语言中,可以通过设置环境变量和使用运行时包中的调试功能来打印垃圾回收(GC)的信息。

2024-08-24 11:34:02 1173 2

原创 go语言中的GC

GC是 Go 运行时(runtime)的一部分,负责自动管理内存的分配和释放。当程序中的变量或对象不再被需要时,GC 会自动回收这些不再使用的内存空间,使其可以被重新分配给其他变量或对象。Go 的垃圾收集器是并发的,并且是非阻塞的,这意味着它在后台运行,尽量减少对程序执行的干扰。通过自动管理内存,GC 使得 Go 程序员可以更加专注于业务逻辑的实现,而不需要手动管理内存的分配和释放,从而减少了内存泄漏和其他内存相关错误的可能性。GC触发方式包括:自动和手动两种。其中,手动是用户主动调用。

2024-08-18 23:27:17 762

原创 磁盘IO挂起(Disk IO hang)

磁盘IO挂起(Disk IO hang)是指磁盘输入/输出操作延迟异常,甚至完全停止响应的情况。在这种状态下,系统尝试对磁盘进行读写操作,但操作无法在合理的时间内完成,导致进程挂起等待,影响系统性能和响应能力。磁盘IO挂起可能是暂时的,也可能是持续的,严重时可能需要重启系统或更换硬件才能恢复。

2024-07-21 09:49:29 1335

原创 异地多活(Geo-Redundancy 或 Geographic Redundancy)

异地多活(Geo-Redundancy)是指在不同的地理位置(通常是不同的城市或地区)部署多个数据中心,这些数据中心之间通过高速网络连接,实现数据的同步和服务的高可用性。异地多活(Geo-Redundancy)是一种高可用性和灾难恢复策略,通过在不同的地理位置部署多个数据中心,实现数据的同步和服务的高可用性。通过结合单元化和异地多活,可以构建一个既具有高扩展性又具有高可用性的系统架构,能够应对大规模的用户流量和区域性灾难,保证业务的连续性和数据的安全性。

2024-07-14 20:17:27 1087

Visual Basic 6.0下制作OCX控件

该文档详细阐述了在VB6.0下制作并测试OCX控件的全过程。

2011-08-25

U盘安装XP_Win7系统指南

本文档主要讲述了如何使用U盘进行系统的安装。并针对安装系统过程遇到的问题进行了解答。希望给有需要的人一点帮助。

2014-07-12

Linux下的C++标准库

Linux下的std C++ 标准库 下载后,解压,将文件拷贝到/lib或者/usr/lib目录下,可以解决提示libstdc++。so找不到的问题

2013-06-04

深入理解linux内核 第三版 Daniel P. Bovet &Marco Cesati 勘误

深入理解Linux内核 第三版是经典的linux内核分析的圣经,里面分析透彻,解析明了。 书中有些错误影响阅读,经过多方收集,特列出。

2011-03-07

Linux RS485 通信代码

本资源给出了Linux下进行RS485通信的实例代码

2012-03-20

Linux系统下dhcp源码

提供Linux系统下DHCP源码下载 dhcp-3.1.1.tar.gz

2012-03-16

sqlite嵌入式编程实例

本资源给出了linux+ARM 环境下SQLite数据库嵌入式编程实例。 详细内容请参考 Linux下SQLite数据库移植与编程 . http://blog.youkuaiyun.com/lanyang123456/article/details/7680670

2012-06-20

ndiswrapper 最新版本下载 ndiswrapper-1.57.tar.gz

ndiswrapper是Linux用于安装无线网卡驱动的一款软件。 ndiswrapper调用Windows下的驱动为Linux系统所用。

2012-03-07

Spreadsheet-ParseXLSX-0.16.tar.gz

该包用于解决无法找到Spreadsheet-ParseXLSX的问题,具体安装方法可参考http://blog.youkuaiyun.com/lanyang123456/article/details/41519501

2014-11-26

Linux下使用USB转串口获取GPS数据

本文档,就linux系统下如何使用GPS设备(USB插口)读取GPS数据做了比较详细的阐述。主要介绍了如何使用USB转串口驱动,以及如何打开ttyyUSB0,如何读取数据等等。

2012-03-01

mysql-replicant-python.zip

书中使用的示例代码下载

2021-08-29

Linux下sqlite3编程实例

本文件给出了sqlite编程实例源码及其执行结果。其中,源码实例中包括了最常用的一些API,非常适合对于初学者学习使用。 有关SQLite安装与编程请参考下面的帖子 Linux下SQLite数据库安装操作与编程 . http://blog.youkuaiyun.com/lanyang123456/article/details/7680532

2012-06-20

git post-update

服务器代码库工作区不更新问题解决,具体问题描述请参看 http://blog.youkuaiyun.com/lanyang123456/article/details/76378229

2017-07-30

rt5370驱动

腾达 无线USB网卡 型号:W311M 芯片类型:rt5370 该驱动是linux下针对rt5370 rt2800等芯片的驱动,可以通过交叉编译移植到嵌入式开发板。

2012-03-20

考研数学公式大全 最全面的

最全面的公式集合,一个很好的参考工具,涵盖高数 概率论 线性代数

2009-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除