Agent Skills
返回列表
💻

Redis 数据模式

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/redis-patterns

技能介绍

解决的核心问题

Redis 的核心价值是用对数据结构,但实际开发中常见三类问题:一是选错类型,比如用 List 做排行榜导致排序复杂度飙升,用 String 存对象属性浪费内存;二是缓存策略不当,引发穿透、击穿、雪崩,甚至大 key 导致内存飙升、服务不可用;三是分布式锁、消息队列实现不严谨,出现锁误删、消息丢失等并发问题,或从单机迁移到 Cluster 时踩坑。这些问题不仅影响性能,还会埋下线上故障隐患,该技能正是针对这些痛点设计。

技能核心工作逻辑

该技能以“场景驱动选型”为核心,遵循4个关键步骤:

  1. 场景分析与数据结构选型:根据业务场景匹配最合适的数据结构,如缓存用 String、排行榜用 Sorted Set、去重用 Set、分布式锁用 SET key val NX PX ttl,同时规范 key 命名(业务:子模块:ID)。
  2. 缓存策略设计:覆盖最常用的 Cache-Aside 策略,针对缓存穿透、击穿、雪崩提供具体解决方案,同时给出 Big Key 排查与优化方法。
  3. 分布式锁规范实现:基于 Redlock 算法,强调原子操作、value 唯一性、Lua 释放锁,避免并发冲突,高可用场景推荐 Redisson 或多实例 Redlock。
  4. 消息队列适配:区分轻量级队列(LPUSH + BRPOP)和可靠队列(Stream 消费者组),明确两者的适用场景与局限性。

技能输出包含数据结构选型理由、完整命令序列(带注释)、风险与对策,可直接落地到开发中。

适用边界与注意点

该技能聚焦于Redis数据结构的应用与优化,适用于缓存、计数器、排行榜、分布式锁等辅助存储场景。但需注意:它不适合关系型查询、复杂事务,这类需求应选择PostgreSQL;也不适合作为持久化主存储,Redis仅作为辅助存储使用。此外,Redis消息队列属于“尽力交付”,不保证消息不丢失,对可靠性要求极高的场景需搭配专业队列工具。

使用场景

  • 设计文章点赞与排行榜功能,需要按点赞数实时排序并记录用户是否已点赞
  • 缓存击穿导致数据库被打满,需要设计互斥锁或异步刷新方案
  • 排查 Redis 内存飙升问题,定位大 key 并拆分优化
  • 实现订单扣库存的互斥操作,需要编写带 TTL 的分布式锁并防止误删

适合人员

  • 后端工程师,需要在业务接口中设计缓存读写与失效策略
  • 缓存服务负责人,需要排查穿透、击穿、雪崩和大 key 问题
  • 分布式系统工程师,需要实现可靠的分布式锁并处理锁过期
  • 架构师,需要规划从单机 Redis 迁移到 Cluster 的数据结构调整