SuperAPI AI 工具集

redis-best-practices

编程与开发

查看项目

更新于 10-15 23:31

技能介绍

用途:为 Redis 开发提供最佳实践参考,涵盖缓存、会话存储、实时分析与消息队列等场景,指导选择合适数据结构、键命名规范与过期策略,并兼顾高可用与持久化设计。

主要能力:

  • 键命名:用冒号作命名空间分隔,包含对象类型与标识,保持简短且一致,如 user:1234:profile、cache:api:products:list。
  • 数据结构:字符串用于缓存、计数与原子操作(SET、INCR、SETNX);哈希用于多字段对象与部分更新(HSET、HGET、HINCRBY);列表用于队列与动态流(LPUSH、BRPOP、LTRIM);集合用于去重与关系运算(SADD、SINTER);有序集合用于排行榜与时间序列(ZADD、ZREVRANGE、ZRANGEBYSCORE);Stream 用于事件流与消费组(XADD、XREADGROUP、XACK)。
  • 缓存模式:Cache-Aside 先查缓存、未命中回源并写回;Write-Through 同时更新数据库与缓存;失效可用 DEL、SCAN 匹配或基于集合的标签失效。
  • 过期与内存:缓存键应设 TTL,可用抖动避免惊群;用 INFO memory、MEMORY USAGE 查看内存,通过 maxmemory 与 maxmemory-policy 配置淘汰策略。
  • 事务与原子性:MULTI/EXEC 事务、WATCH 乐观锁,以及 Lua 脚本实现复杂原子操作(如限流)。
  • 消息与高可用:PUBLISH/SUBSCRIBE 发布订阅;REPLICAOF 复制、Sentinel 自动故障转移、Cluster 水平扩展(可用哈希标签保证同槽);RDB 快照与 AOF 持久化。
  • 安全与监控:requirepass 认证、TLS、绑定接口、重命名危险命令;INFO、CLIENT LIST、SLOWLOG、MONITOR 等监控手段。

使用方式:以命令与伪代码示例展示常见操作,如 SET cache:user:1234 '...' EX 3600、HSET、ZADD、XADD、EVAL 等;连接管理建议使用连接池并设置超时。

适用场景:缓存、会话、排行榜、消息队列、事件流、限流等。

限制:资料未提供具体版本要求、性能基准、收费或平台信息;部分命令(如 KEYS、MONITOR)在生产环境需谨慎使用。