数据库 共 18 篇文章

Redis FUNCTION LOAD注册Lua函数库的持久化
2026-05-05 12:18:21
Redis FUNCTION LOAD注册Lua函数库的持久化 在 Redis 7 及更高版本中,FUNCTION LOAD 命令引入了函数库的概念,相较于旧的 EVAL 和 SCRIPT LOAD,它提供了更好的代码组织方式和复用性。然而,仅仅将函数加载到内存中并不足以应对服务器重启。为了确保 L
Redis Lua脚本 函数库
29 0
MySQL REPLACE INTO与INSERT ON DUPLICATE KEY的区别
2026-05-03 14:20:34
MySQL REPLACE INTO与INSERT ON DUPLICATE KEY的区别 在MySQL数据库开发中,我们经常面临这样一个需求:当插入数据时,如果记录不存在(基于主键或唯一索引),则执行插入操作;如果记录已存在,则执行更新操作。这就是典型的“Upsert”操作。MySQL提供了两种主
MySQL 数据库 数据插入
41 0
Redis Sorted Set实现排行榜的Score相同时按时间排序
2026-05-03 00:26:59
Redis Sorted Set(有序集合)默认根据 Score(分值)进行升序排列。当多个成员的 Score 完全相同时,Redis 会根据 Member(成员名)的字典序进行排序。这种机制通常无法满足“按时间先到先得”或“最新到先得”的业务需求。要实现 Score 相同时按时间排序,最稳健的方法
Redis 有序集合 排行榜
28 0
MySQL主从复制binlog的三种格式与各自优缺点
2026-05-02 12:28:41
MySQL主从复制binlog的三种格式与各自优缺点 MySQL主从复制的高可用架构中,binlog(二进制日志)是核心纽带,它记录了数据库的所有变更。binlog的三种记录格式直接决定了数据复制的准确性、性能与网络传输效率。理解并正确配置这些格式,是保障数据库稳定运行的关键。 一、 检查当前bin
MySQL 主从复制 binlog
42 0
MySQL事务隔离级别与幻读问题:可重复读真的能防止幻读吗
2026-05-02 00:25:44
MySQL事务隔离级别与幻读问题:可重复读真的能防止幻读吗 本文通过实际操作和原理解析,带你验证MySQL默认隔离级别可重复读(Repeatable Read, RR)对幻读的防范机制。 1. 准备实验环境 为了直观演示幻读现象及解决方案,我们需要先构建一张测试表并初始化数据。 1. 登录 MySQ
MySQL 事务隔离 幻读
37 0
MySQL pt-online-schema-change无锁修改表结构的原理
2026-04-30 18:16:40
MySQL ptonlineschemachange无锁修改表结构的原理 在生产环境中修改大表结构是一项高风险操作。MySQL 默认的 ALTER TABLE 语句在执行期间通常会锁表,导致应用无法写入,甚至阻塞读取,这在高并发场景下是不可接受的。ptonlineschemachange(简称 pt
MySQL pt-osc 在线DDL
48 0
MySQL INSERT IGNORE与REPLACE INTO的数据保留差异
2026-04-30 12:14:51
MySQL INSERT IGNORE与REPLACE INTO的数据保留差异 在数据库维护与开发过程中,处理主键或唯一索引冲突是常见场景。MySQL 提供了 INSERT IGNORE 和 REPLACE INTO 两种机制来应对数据插入时的冲突,但它们在数据保留策略和底层执行逻辑上截然不同。了解
MySQL 数据库 SQL
31 0
Redis FUNCTION LIST查看已注册的函数库信息
2026-04-26 06:19:59
Redis FUNCTION LIST查看已注册的函数库信息 FUNCTION LIST 命令用于列出当前 Redis 数据库中所有已加载的函数库及其详细信息。这在管理脚本、排查函数调用问题或查看当前服务器加载了哪些脚本逻辑时非常实用。 准备工作 确保使用的 Redis 版本为 7.0 或更高版本,
Redis 函数库 脚本管理
39 0
Redis OBJECT HELP命令查看Key的空闲时间与引用计数
2026-04-25 08:27:28
Redis OBJECT HELP命令查看Key的空闲时间与引用计数 打开终端或命令行工具,确保 Redis 服务已处于运行状态。 1. 连接数据库并查看帮助 输入以下命令连接到本地 Redis 服务(默认端口 6379): bash rediscli 连接成功后,输入 OBJECT HELP 命令
Redis Redis命令 引用计数
43 0
MySQL Count(*)、Count(1)、Count(列名)的性能差异真相
2026-04-21 21:26:28
MySQL Count、Count1、Count列名的性能差异真相 在数据库优化和面试中,关于 COUNT 的讨论从未停止。许多开发者为了追求极致性能,会在写 SQL 时纠结是用 COUNT 还是 COUNT1,甚至有人认为 COUNT1 比 COUNT 更快。这些说法在现在的 MySQL 版本中大
MySQL 性能优化 Count函数
45 0
Go 数据库问题:连接池耗尽与事务处理
2026-04-17 03:14:47
Go 数据库问题:连接池耗尽与事务处理 在生产环境中,Go 程序经常遇到 driver: bad connection 或 resource temporarily unavailable 等错误。这通常意味着数据库连接池已经被耗尽。连接池管理是高并发应用稳定性的基石,处理不当会导致程序假死或响应超
Go语言 数据库 连接池
47 0
Java 数据库问题:SQLException 与连接池配置
2026-04-16 07:14:07
Java 数据库问题:SQLException 与连接池配置 Java 应用程序与数据库交互时,java.sql.SQLException 是最令人头疼的异常之一。这通常并非代码逻辑错误,而是环境配置、网络波动或连接池参数设置不当的结果。本文将通过具体步骤,指导你如何定位并解决常见的数据库连接问题。
Java 数据库 SQLException
56 0
Go 数据库:database/sql 包与连接池
2026-04-13 08:15:37
Go 数据库:database/sql 包与连接池 在 Go 语言中处理数据库操作主要通过标准库 database/sql 实现。该库提供了一套通用的接口用于连接关系型数据库(如 MySQL、PostgreSQL 等),并内置了高效的连接池机制。正确使用连接池可以显著减少建立 TCP 连接和认证的开
Go语言 数据库 连接池
70 0
Python 数据库事务:commit 与 rollback 操作
2026-04-12 12:13:04
Python 数据库事务:commit 与 rollback 操作 在处理数据库操作时,确保数据的完整性和一致性至关重要。事务管理是解决这一问题的核心机制,它将一系列操作捆绑在一起,要么全部成功,要么全部失败。本指南将详细介绍如何在 Python 中使用 commit(提交)和 rollback(回
Python 数据库 事务
87 0
Go 数据库:sql 包与 ORM 框架
2026-04-08 03:27:11
Go 语言提供了两种主要方式与数据库交互:使用标准库 database/sql 进行底层控制,或使用 ORM(对象关系映射)框架进行高效开发。 方式一:使用 database/sql 包 这是 Go 官方提供的轻量级接口,要求手动处理 SQL 语句、行和结果。适合追求性能或处理复杂 SQL 的场景。
Go语言 数据库 sql包
58 0
Python 数据库问题:连接超时与连接池配置
2026-04-03 13:51:16
Python 数据库问题:连接超时与连接池配置 Python 应用在高并发或长时间运行场景下,常因数据库连接管理不当出现“连接超时”错误。这类问题通常表现为 OperationalError: 2013, 'Lost connection to MySQL server during query'
Python 数据库 连接超时
105 0
Node.js 数据库:MongoDB 与 Mongoose
2026-04-03 07:31:26
Node.js 数据库:MongoDB 与 Mongoose 在 Node.js 项目中连接数据库,MongoDB 是最常用的选择之一。它是一个 NoSQL 数据库,用 JSON 风格的文档存储数据,非常适合 JavaScript 开发者。而 Mongoose 是一个对象数据建模(ODM)库,它让你
Node.js MongoDB Mongoose
75 0
SCADA历史数据库的存储优化
2026-03-25 15:48:39
SCADA历史数据库的存储优化 工业现场的SCADA(数据采集与监视控制系统)每时每刻都在产生海量数据。如果不加干预,历史数据库会在数月内膨胀至数百TB,导致查询卡顿、备份失败,甚至系统崩溃。优化存储的核心不在于购买更贵的硬盘,而在于“只存储有价值的数据”。 第一阶段:源头数据压缩 大多数SCADA
工控 数据库 存储
64 0