Go语言技术文章
-
MySQL 8.4 的 SHOW GRANTS 只看账号时容易漏掉角色携带的权限。本文用 app_read、app_write 和 report_user 拆解角色授予、默认激活、CURRENT_ROLE() 与 SHOW GRANTS ... USING 的核对顺序。107 收藏 -
数据库 · Redis | 1个月前 | Redis · 故障排查 · 排行榜 · Sorted Set · redis 排行榜 aggregate Sorted Set ZUNIONSTORE WEIGHTS
Redis ZUNIONSTORE 会把多个 Sorted Set 的成员合并到目标键,默认按相同成员的分值求和。本文用两份排行榜数据演示 WEIGHTS 和 AGGREGATE 的计算顺序,并给出结果键、成员数量和分值的核对方法。338 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 执行计划 · 查询优化 · 统计信息 · explain MySQL 8.4 直方图统计 ANALYZE TABLE COLUMN_STATISTICS
当 WHERE 条件落在数据分布很不均匀的列上,MySQL 估算行数可能偏离实际。本文用 orders.status 这个可复现实例,说明什么时候建立直方图、如何选择桶数量,以及怎样用 COLUMN_STATISTICS 和 EXPLAIN 验收收益。420 收藏 -
Redis ZRANGE 查询结果与预期不一致时,先区分 WITHSCORES 返回形状、REV 反向排序和 LIMIT 分页边界,再用可复现的命令核对索引位置与游标。357 收藏 -
MySQL REGEXP_LIKE 适合做复杂文本匹配,但 NULL、大小写、行模式和索引预期都容易造成误判。本文用订单备注校验场景拆开匹配结果与执行边界。202 收藏 -
从 EXPLAIN 的 key、key_len、type 和 Extra 入手,判断 MySQL 复合索引没有按预期生效的原因,并用最小 SQL 验证最左匹配、范围条件和排序顺序。235 收藏 -
用 Redis MODULE LIST 盘点实例加载的扩展模块,核对 name、ver、path 等返回字段,并给出上线前后的风险检查方法。121 收藏 -
MySQL 连接池复用 TCP 连接时,SESSION 变量会随连接一起保留。本文用 time_zone、sql_mode 和 init SQL 说明旧状态从哪里来,给出借出前初始化、归还后清理与复用校验的方法。209 收藏 -
MySQL 的 DDL 卡住时,先从 performance_schema.metadata_locks 区分等待者与持有者,再核对对象、线程和业务状态,确认影响后才决定终止会话。249 收藏 -
Redis GETRANGE 按字节下标截取字符串或二进制值,负数下标从末尾计算,越界不会报错而是按可用范围返回。本文用 session:raw-token 示例核对起止位置、空结果和中文字节边界。266 收藏 -
Redis 连接数打满时,先用 INFO clients 和 CLIENT LIST 区分真实并发、空闲连接与连接池泄漏,再核对 maxclients,最后分时回收异常连接并修正池配置。140 收藏 -
批量 UPDATE 不要只加 LIMIT:用可推进的索引范围固定每批数据,缩短事务锁持有时间,并为失败重试保留清晰边界。173 收藏 -
用一个订单明细 XML 示例讲清 MySQL 8.4 LOAD XML 的行识别、属性与标签映射、LOCAL 风险及导入后核对方法。161 收藏 -
用 Redis INFO commandstats 拆解单命令 CPU 异常,理解 calls、usec、usec_per_call、failed_calls 与采样窗口的关系,并给出可复核的排查流程。135 收藏 -
给一个需要同时写入多个 Redis 字符串键的初始化场景,说明 MSETNX 为什么能做到全成全败、返回 0 时如何定位已存在键,以及单机原子语义在集群多键操作中的边界。189 收藏