- 博客(293)
- 收藏
- 关注
原创 数据库备份与恢复策略详解
备份是定期将数据库复制并存储到独立位置的过程,目的是防止数据丢失。恢复是将备份数据还原到可用状态的过程,需平衡恢复速度与数据完整性。
2025-12-11 15:06:51
77
原创 数据库性能监控关键指标与实施指南
监控是为了发现问题,告警是为了及时响应。为关键指标设置智能阈值。数据库性能监控应分层进行,从底层资源到上层查询。从更高维度评估数据库是否“健康地工作”。监控数据是用来分析的,而不是仅仅收集。这反映了数据库所在服务器的健康状况。这直接反映了数据库处理请求的效率。
2025-12-11 15:04:13
476
原创 覆盖索引提升查询性能解析
覆盖索引通过将查询所需的所有数据放入索引中,避免了昂贵的回表操作,显著减少了I/O和CPU消耗。设计时应根据实际查询模式,在索引大小和查询性能之间找到平衡点。
2025-12-11 15:01:28
222
原创 数据库读写分离实现方案详解
团队技术栈:Java生态优选ShardingSphere,Go生态可考虑ProxySQL数据规模:小规模用应用层实现,大规模用中间件运维能力:中间件需要额外的运维成本业务需求:对一致性的要求程度。
2025-12-11 14:58:35
132
原创 数据库分区策略及应用详解
是将一个大型数据库表或索引物理分割成多个较小、更易管理的部分(称为分区),同时逻辑上仍保持为单一实体的技术。每个分区可以独立存储、管理和维护。:类似哈希分区,但使用MySQL内置哈希函数。:根据地理位置划分,常用于分布式数据库。:具有明确分类的数据(如地区、状态):确保绝对均匀分布,但失去数据局部性。:根据哈希函数计算结果均匀分布数据。:根据指定列的值范围划分分区。:时间序列数据、数值范围数据。:根据离散值列表划分分区。:需要均匀分布数据的场景。:循环分配数据到各个分区。
2025-12-11 14:51:39
192
原创 数据库锁机制详解
特性行锁表锁间隙锁锁定粒度最细(单行)最粗(整表)范围(行与行之间的空隙)并发性能最高最低较低(限制范围插入)系统开销最大最小中等主要用途确保单行数据一致性,支持高并发OLTP数据迁移、全表操作、简单场景防止幻读,配合行锁使用常见数据库/引擎MyISAM (MySQL), 早期数据库InnoDB在可重复读隔离级别下引发的典型问题死锁(循环等待行资源)长时间阻塞,并发瓶颈范围插入失败,死锁(与插入操作)
2025-12-11 14:48:55
359
原创 数据库隔离级别详解与选择
数据库的定义了多个并发事务之间如何相互隔离,以及一个事务能看到其他事务的哪些修改。它是ACID属性中隔离性(Isolation)的具体实现,用于在并发性能和数据一致性之间进行权衡。
2025-12-11 14:40:51
155
原创 SQL执行计划与优化详解
执行计划是数据库优化器生成的、用于执行SQL查询的详细步骤说明。如何访问数据(全表扫描、索引扫描等)表的连接顺序和方式操作执行的顺序先看执行计划再优化:不要盲目添加索引关注高成本操作:全表扫描、排序、临时表索引设计原则为WHERE、JOIN、ORDER BY列创建索引使用复合索引减少索引数量避免过度索引影响写入性能定期分析:-- 找出最慢的查询LIMIT 10;测试验证:在生产环境优化前,先在测试环境验证。
2025-12-09 15:44:33
171
原创 SQL窗口函数详解及排名示例
窗口函数(Window Function)是 SQL 中的一种特殊函数,它能够在不改变原有行数的情况下,对数据进行分组(窗口)计算,并为每一行返回一个计算结果。与聚合函数(如 SUM、AVG)不同,窗口函数不会将多行合并为一行。函数排名特点并列处理后续排名ROW_NUMBER连续唯一不并列连续RANK允许并列并列相同排名跳过并列数量DENSE_RANK允许并列并列相同排名连续不跳过。
2025-12-09 15:34:19
307
原创 SQL聚合函数功能与用法详解
聚合函数是对一组值执行计算并返回单个值的函数,主要用于数据汇总和统计。它们通常与GROUP BY子句结合使用,对数据分组后进行汇总计算。
2025-12-09 15:28:21
244
原创 Python logging模块日志记录指南
灵活性强:支持控制台、文件、网络等多种输出方式分级记录:支持不同级别的日志记录线程安全:多线程环境下安全使用模块化:可以为不同模块设置不同的日志级别格式定制:可以自定义日志输出的格式性能优秀:生产环境中可以关闭调试日志提高性能。
2025-12-08 16:33:46
138
原创 Python多线程与多进程对比及适用场景
多线程:适合I/O密集型、需要轻量级并发的场景多进程:适合CPU密集型、需要真正并行、要求稳定性的场景。
2025-12-08 16:24:03
316
原创 Python with语句与上下文管理器详解
with语句和上下文管理器是 Python 的重要语法糖✅ 确保资源被正确释放✅ 减少代码冗余(避免 try-finally 模板代码)✅ 提高代码可读性✅ 统一异常处理逻辑✅ 支持多种资源类型(文件、锁、连接等)这是 Python 实现RAII(资源获取即初始化)模式的主要方式,是编写健壮、安全代码的关键工具。
2025-12-08 16:06:36
586
原创 Python异常处理机制详解
在 Python 中,异常处理主要通过 --- 结构实现。以下是各部分的详细说明:二、各块作用详解1. 块包含可能抛出异常的代码如果发生异常,立即跳转到相应的 块2. 块捕获并处理特定类型的异常可以有多个 块处理不同类型的异常3. 块仅在 try 块没有抛出异常时执行用于将正常逻辑与异常处理逻辑分离4. 块无论是否发生异常都会执行通常用于资源清理(关闭文件、释放连接等)三、完整示例四、自定义异常五、最佳实践具体异常优先避免空
2025-12-08 16:00:07
230
原创 Python线程安全单例模式实现方法
Python模块本身就是天然的单例,因为模块在第一次导入时会生成。文件,再次导入时直接加载。对于大多数场景,推荐使用。
2025-12-08 15:56:43
275
原创 Master和Worker的区别和联系
客户(用户)只需要打电话给调度中心(访问 Master API),就可以发货(部署应用)。调度中心会安排合适的快递员去完成,客户无需直接联系每一个快递员。Master 节点是集群的管理端,它不运行用户的业务容器(Pod),而是运行着 Kubernetes 的核心管理组件。Worker 节点是真正运行用户业务容器(Pod)的服务器。
2025-11-19 16:57:32
961
原创 Docker底层工作原理
传统软件部署每次搬家都要重新买家具、布置水电不同房子配置不同,经常出问题Docker容器化把整个家装进标准化集装箱搬到任何地方(服务器)都能立即入住水电网络自动接通,家具摆放一致🏠独立空间:每个应用有自己的"房间"⚖️资源管控:公平分配CPU、内存等资源🧩分层管理:像搭积木一样组合应用🚀快速迁移:一次构建,随处运行。
2025-11-17 17:13:56
1688
原创 关于阿里云OSS的桶(Bucket)的30道面试题
OSS的桶(Bucket)是阿里云提供的一种对象存储服务的基本概念,用于存储和管理大量的非结构化数据。数据存储与管理:OSS的桶提供了一个安全、可扩展、低成本的云存储空间,用户可以将各种类型的文件(如图片、音频、视频、文档等)存储在桶中,实现数据的集中管理和备份。数据访问与共享:支持多种数据访问方式,包括HTTP、HTTPS、SFTP、FTP等,方便用户将数据分享给其他人或者应用程序。同时,用户可以通过简单的API调用或控制台操作,轻松地上传、下载、删除等操作存储在桶中的数据。权限管理:每个桶都有自己的访问
2025-02-28 21:09:49
1906
原创 Python客服机器人
实现一个简单的客服机器人应用,使用Python的Tkinter库构建了图形用户界面(GUI),并通过与MySQL数据库交互来查询和回复用户的提问。此外,它还支持从CSV或Excel文件中导入话术模板,并提供下载模板的功能。
2025-02-26 11:09:43
1180
原创 python的Tkinter小程序上传Excel并下载Text
上传Excel文件:用户可以选择一个Excel文件进行上传。选择列和行:用户可以勾选要下载的列和行。下载文本文件:根据用户的选择,将选定的列和行的内容保存为文本文件。
2025-02-24 17:45:27
888
原创 通过C++编程语言实现“数据结构”课程中的链表,数据,数,图
每个元素称为一个节点,包含数据部分和指向下一个节点的指针。树是一种非线性的数据结构,由节点组成,其中每个节点都有零个或多个子节点。根节点没有父节点,而其他每个节点恰好有一个父节点。图是一种非线性的数据结构,由一组节点(也称为顶点)及其之间的连接(边)组成。假设有一个无向图包含五个顶点和六条边:0-1, 0-4, 1-2, 1-3, 1-4, 2-3, 3-4。假设有一个栈包含三个元素:10 -> 20 -> 30 (30是栈顶)假设有一个链表包含三个节点:1 -> 2 -> 3 -> NULL。
2025-02-20 14:57:45
286
原创 通过C语言实现“数据结构”课程中的链表,数据,数,图
每个元素称为一个节点,包含数据部分和指向下一个节点的指针。树是一种非线性的数据结构,由节点组成,其中每个节点都有零个或多个子节点。根节点没有父节点,而其他每个节点恰好有一个父节点。图是一种非线性的数据结构,由一组节点(也称为顶点)及其之间的连接(边)组成。假设有一个无向图包含五个顶点和六条边:0-1, 0-4, 1-2, 1-3, 1-4, 2-3, 3-4。假设有一个栈包含三个元素:10 -> 20 -> 30 (30是栈顶)假设有一个链表包含三个节点:1 -> 2 -> 3 -> NULL。
2025-02-20 14:47:24
289
原创 通过C和C++编程语言分别实现冒泡排序,选择排序,插入排序,快速排序,归并排序算法
冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行直到没有再需要交换,也就是说该数列已经排序完成。
2025-02-20 14:28:10
492
原创 鸢尾花分类项目 GUI
机器学习是一门人工智能的分支,专注于开发算法和统计模型,使计算机能够在没有明确编程的情况下从数据中自动学习和改进。通过识别数据中的模式和规律,机器学习系统可以做出预测或决策。常见的应用包括图像识别、语音识别、推荐系统等。
2025-02-20 11:37:41
456
原创 关于防火墙运维面试题2
基于源IP地址的策略允许企业内部可信的IP地址范围访问内部资源。例如,企业内部办公网络的IP地址段(如192.168.1.0/24)可以访问企业内部的文件服务器、邮件服务器等资源。对于来自外部互联网的访问,根据业务需求有选择地允许特定的IP地址或地址段。例如,合作伙伴的固定IP地址可以访问企业的特定应用程序接口(API)。阻止来自已知恶意IP地址或黑名单上的IP地址的访问。这些黑名单可以是企业内部维护的,也可以是订阅的商业或开源的黑名单服务提供的。基于目的IP地址的策略。
2025-02-13 10:14:32
1228
原创 关于防火墙运维面试题
访问控制列表(ACL)是一种用于控制网络通信权限的安全策略,它在防火墙策略制定中扮演着关键角色。访问控制列表(Access Control List,简称ACL)是一种网络安全机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。这些规则通常包括源地址、目的地址、协议、端口等信息,以及允许或拒绝访问的操作。动态包过滤技术是一种能够根据网络流量的实时变化调整规则,从而提高网络的安全性和性能的技术。
2025-02-10 16:00:25
1597
原创 python康威生命游戏的图形化界面实现
初始化:创建一个随机填充的网格。绘制网格:在画布上绘制当前网格的状态。计算下一代:根据康威生命游戏的规则计算下一代的网格状态。控制按钮Start/Stop:启动或停止游戏的演化。Reset:重置网格状态。定时更新:每隔100毫秒更新一次网格状态。
2025-02-08 15:23:56
1212
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅