Redis技术文章
-
Redis Cluster 遇到 CROSSSLOT 时,先用 CLUSTER KEYSLOT 找出不同槽位,再用业务 ID hash tag 重构相关 key,并评估迁移与热点风险。218 收藏 -
从 AOF 多部分文件、fork 与 Copy-on-Write、fsync 和 INFO persistence 指标入手,说明重写期间磁盘增长与延迟抖动的来源,并给出配置和排查方法。218 收藏 -
Redis Lua 的优势是减少网络往返并保持原子性,代价是脚本运行期间会占用主线程。本文用有界循环、KEYS/ARGV、SLOWLOG、延迟历史和脚本缓存调用,给出一套可执行的收敛与拆分判断方法。216 收藏 -
Redis TTL 返回 -1 表示键存在但没有过期时间,-2 表示键不存在。本文用命令和 Go 分支示例区分三种状态,并排查普通 SET 覆盖、过期窗口和查询上下文不一致等常见原因。216 收藏 -
Redis 6.2 及以上可用 GETDEL 原子读取并删除字符串键,适合一次性登录令牌、确认码等场景。本文说明命中、空值、类型错误、旧版本 Lua 兼容和 TTL 边界。215 收藏 -
Redis ACL 的 key pattern 仍放行意外键,通常不是一个窄规则失效,而是旧的 ~*、selector、glob 范围或无 key 参数命令共同造成。本文用 ACL GETUSER、ACL DRYRUN 和 reset 重建方法定位并修正。215 收藏 -
数据库 · Redis | 2星期前 | Redis · 缓存 · 运维 · redis maxmemory maxmemory-policy volatile-lru noeviction allkeys-lfu
Redis 达到 maxmemory 后,volatile-lru、allkeys-lfu 和 noeviction 的行为并不相同。本文用一组可复核的键、命令和 INFO 指标,说明如何按数据是否允许淘汰来选择策略,并识别写入失败边界。213 收藏 -
Redis 的 SMISMEMBER 可以一次判断多个成员是否属于同一个 Set,并按请求顺序返回 0/1 结果。本文用购物车权益集合核对重复成员、空键、返回映射和 ACL 只读权限边界。207 收藏 -
Redis ACL 权限不能只看密码,还要同时限制可执行命令和可访问 key。本文用 ACL SETUSER、key pattern、selector 和高危命令清单,整理一套可落地的最小权限写法。207 收藏 -
Redis Stream 消费组中的 pending 消息已经投递但尚未确认。本文用 XPENDING 检查 PEL 和空闲时间,再用 XAUTOCLAIM 批量重新认领超时消息,并说明何时使用 XCLAIM 与 XACK。207 收藏 -
Redis FCALL_RO 只允许执行声明为 no-writes 的函数,适合可接受复制延迟的只读副本查询;FCALL 面向普通读写函数并应按节点角色路由。205 收藏 -
SLOWLOG RESET 会永久清空 Redis 当前慢日志。正确做法是先用 SLOWLOG GET 导出条目,写入外部审计存储并确认成功,再执行 RESET;轮询时用条目 ID 去重,并为重启建立采集代次。205 收藏 -
XREAD 可以一次读取多个 Redis Stream,但每条流都要配一个独立 ID。本文用订单和支付流说明 0-0、$、COUNT、BLOCK 的用法,以及如何在应用层维护游标并整理跨流结果。205 收藏 -
Redis CONFIG SET 只改变当前进程的生效值,重启后仍可能恢复旧配置。本文用 CONFIG GET、CONFIG REWRITE、文件校验和重启后的再次查询,核对配置路径、权限、默认值、集群节点与回滚边界。204 收藏 -
Redis Pipeline 能减少网络往返,但批次过大可能让回复堆积、客户端内存上涨,甚至拉高尾延迟。本文用基线、批次对比和分位数验收说明什么时候该拆批。204 收藏