Redis 开发助手

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

Redis 开发与审查助手(Java / Spring Boot)。开发、审查或优化缓存(@Cacheable 声明式 / RedisTemplate 手动)、分布式锁(Redisson / lock4j / SET NX EX / 看门狗)、Redis 连接与配置 (单机 / 哨兵 / 集群 / 连接池)、序列化(key 乱码 / JSON / LocalDateTime)、缓存一致性 (穿透 / 击穿 / 雪崩 / hot key / 先更库再删缓存 / cache aside)、用 Redis 数据结构实现业务功能 (计数器 / 签到 / 去重 / 延迟队列 / UV 统计 / 布隆过滤器 / 限流)、消息与事件(发布订阅 / Pub/Sub / Stream 可靠队列 / 键空间通知 / 过期事件)时使用本技能——无需用户提到 Redis。 次级触发信号——代码或 pom 中出现:spring-boot-starter-data-redis、redisson、RedisTemplate、 @Cacheable / @CacheEvict / @CachePut / @EnableCaching、RLock / RedissonClient / tryLock / @Lock4j / RRateLimiter / RDelayedQueue / RBloomFilter、opsForValue 等 opsFor* 方法、 convertAndSend / RedisMessageListenerContainer / StreamMessageListenerContainer 时必须使用本技能; 用户报错出现:key 乱码(\xac\xed)、序列化 / 反序列化异常、连不上 Redis / command timeout / pool exhausted、@Cacheable 不生效、读回 LinkedHashMap 时必须使用本技能。 不适用于:Sa-Token 等框架自身的会话 / 登录集成、测试容器化 Redis、Redis 服务器安装部署 / 主从搭建 / 监控指标与内存淘汰策略调优(运维范围)、非 Java 语言。

一句话选型结论

按资料字段整理

Redis 开发助手是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a36dc51e/redis-dev
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a36dc51e仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791686316
正文体量13.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Redis 开发助手当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

13.3 KB
模型实际读到的说明书原文,来自技能仓库

Redis 开发助手

面向 Java / Spring Boot 的 Redis 编码助手:缓存、分布式锁、Redisson 分布式对象(限流 / 延迟队列 / 布隆过滤器)、序列化配置、连接配置、缓存一致性、消息与事件。
版本基准:Spring Boot 3.x/4.x(Spring Data Redis 3.x/4.x、Lettuce 6.x/7.x)+ Redisson 3.x(Boot 4 下 starter 用 4.x 线,references/07-redisson.md §1);
Boot 2.7 差异以 Boot2.x 标注(主要是 spring.redis.* vs spring.data.redis.*——Boot 3/4 前缀相同)。
采用完全本地自包含策略:所有知识沉淀于本地 references/,运行时不依赖任何外部文档站点。

版本与依赖

场景 依赖 说明
缓存 / 任意 Redis 读写 spring-boot-starter-data-redis 默认 Lettuce 客户端,自带
声明式缓存 @Cacheable spring-boot-starter-data-redis + spring-boot-starter-cache 还需 @EnableCaching
分布式锁 / 限流 / 布隆过滤器 / 延迟队列 org.redisson:redisson 手动配置(数据面留在 Lettuce,默认);或 redisson-spring-boot-starter(整体替换连接层,全新项目 / Redisson 数据面) 仅缓存场景不要引入
连接池(池参数生效) org.apache.commons:commons-pool2 池实现库,不是 Redis 客户端;仅配 lettuce.pool.* 时需要(普通命令不走池,references/02-pool.md §1)
  • 配置命名空间:Boot 3/4 用 spring.data.redis.*,Boot 2.x 用 spring.redis.*——配错导致连不上(症状见 references/08-troubleshoot.md)。
  • redisson-spring-boot-starter 会把 RedisConnectionFactory 替换为 Redisson 实现(RedisTemplate 底层随之切换),引入即全局生效,详见 references/07-redisson.md §1。

第 0 步:依赖探测与激活分支

任务涉及缓存、分布式锁、Redis 配置、序列化、数据结构实现——即使用户没提 Redis——先检索项目依赖与代码(pom / build.gradle 搜 data-redis、redisson、lock4j;代码搜 RedisTemplate、@Cacheable、RLock):

探测结果 动作
已有 data-redis / redisson / lock4j 依赖,或代码用 RedisTemplate / @Cacheable / RLock 直接激活,走「关键决策检查点」→「决策路由」
无任何 Redis 依赖,但任务要求缓存 / 锁 / 计数 / 排行 主动询问是否引入 Redis(说明:进程内缓存 Caffeine 也可能是答案——单实例部署、无共享需求时);同意 → 按「版本与依赖」表引入后继续
任务其实是 Sa-Token 等框架自身的会话 / 登录存储问题 退出本技能(属框架自身集成,查框架文档)
任务是起 Redis 测试容器 / 测试隔离 退出本技能(属集成测试领域)

何时使用本技能

信号 判定
写 / 改缓存逻辑(@Cacheable、手动 RedisTemplate 读写) 激活
分布式锁、防重复提交、幂等、并发扣减互斥 激活
Redis 连接 / 连接池 / 超时 / 哨兵 / 集群配置 激活
序列化:存对象、key 乱码、跨服务共享数据 激活
缓存穿透 / 击穿 / 雪崩、先更新库还是先删缓存 激活
用 Redis 做计数器 / 签到 / 去重 / 延迟队列 / UV / 布隆 / 限流 激活
发布订阅(Pub/Sub)、Stream 消息队列、key 过期事件监听 激活
审查 / 优化存量代码的 Redis 用法(自写锁、keys *、JDK 序列化等隐患识别与迁移) 激活
报错:连不上、command timeout、pool exhausted、序列化异常、@Cacheable 不生效、读回 LinkedHashMap 激活,先查 references/08-troubleshoot.md
Redis 服务器安装 / 主从搭建 / 慢查询监控 / 大 key 巡检 / 内存淘汰治理 不适用(运维范围)
Sa-Token 登录 / 会话 / 踢人相关 不适用(框架自身集成,非本技能范围)

> 检查点:判定为「不适用」→ 告知用户当前问题不在本技能范围并建议退出。

关键决策检查点

以下 3 个场景存在多条技术路线,Agent 不可擅自替用户选择。

执行规则(机械判据,逐条执行):

  1. 拿到任务后、写任何代码前,先扫描用户消息与上下文是否命中下表「触发信号」列的关键词(逐字匹配)。
  2. 命中任一检查点 → 本轮回复只做一件事:输出确认问题。禁止输出业务代码块、依赖坐标、配置片段。
  3. 确认问题必须是选择题:列出候选方案 + 标注推荐项 + 一句话理由。禁止开放式提问。
  4. 用户未明确回答 → 使用「默认推荐」列策略,并在输出开头标注「未确认,已使用默认方案」。
  5. 用户确认方向 → 按选择生成代码,不再重复追问。
  6. 一个需求命中多个检查点 → 一次性列出全部确认问题,全部完成后才生成代码。
# 触发信号(逐字关键词) 必须确认的问题 方案差异(一句话) 默认推荐
C1 "加缓存" / "缓存" / "cache"(未指明方式) ① 声明式 @Cacheable 还是手动 RedisTemplate?② TTL 档位:30min(默认推荐)/ 10min~24h 自定? 声明式:简洁、注解即生效,适合整对象读缓存;手动:精细控制(部分更新 / 计数 / 锁配合),适合复杂逻辑。见 references/05-spring-cache.md §1 简单查询缓存用 @Cacheable + 显式 TTL 30min
C2 "锁" / "分布式锁" / "防重复" / "幂等" / "并发" ① 项目是否已有 Redisson / lock4j?没有 → 是否同意引入?② 业务执行时长上界:<30s / <5min / 不可预估? Redisson RLock:显式 waitTime + leaseTime(持锁硬上限,防挂死被看门狗无限续期);lock4j @Lock4j:注解声明式,底层默认 Redisson,expire 即固定租期。✗ 不自写 SET NX + Lua(续期 / 可重入 / 安全释放都是坑位)。见 references/07-redisson.md §1-§2 引入 Redisson,tryLock(wait, leaseTime) 两个时间都显式(leaseTime > 业务上界)
C3 "存对象" / "序列化" / "跨服务共享" / "key 可读" 数据是否需要跨服务 / 跨语言读取? GenericJackson2Json:写入 @class 自动还原类型,单服务最省事;跨服务 ✗ 禁止 @class(包名耦合、跨语言读不懂、类迁移即断)→ ✓ 干净 JSON + 读侧显式类型。见 references/03-serialization.md §4 单服务 GenericJackson2Json(含 JavaTimeModule),跨服务 StringRedisTemplate + 显式类型

决策路由

需求场景(关键词) 读取文件
依赖引入、单机 / 哨兵 / 集群连接配置、超时、ACL references/01-connection.md
连接池参数、Lettuce 共享连接、pool exhausted、Jedis 迁移决策 / antipattern references/02-pool.md
序列化方案、key 乱码、GenericJackson2Json、LocalDateTime、LinkedHashMap、跨服务契约、key 规范 / 前缀 references/03-serialization.md
scan / keys 禁用 / 批量删除 / unlink、mget / pipeline、事务(multi/exec 无回滚)、Lua 脚本、set 覆盖清 TTL 等陷阱、Bitmap / HyperLogLog references/04-template-operations.md
@Cacheable / @CacheEvict、TTL 配置(默认永不过期坑)、自调用失效、多缓存名不同 TTL references/05-spring-cache.md
缓存一致性:先更库还是先删缓存、穿透 / 击穿 / 雪崩三件套、互斥回源 / 逻辑过期异步重建、延迟双删 references/06-cache-consistency.md
Redisson:分布式锁(RLock / lock4j / 看门狗 / leaseTime)、限流 RRateLimiter、延迟队列 / 延迟任务 / 超时关单(RDelayedQueue)、布隆过滤器 / 信号量 / 读写锁 references/07-redisson.md
排错路由:症状 → 去哪节查(NullValue / LinkedHashMap / 锁失效 / @Cacheable 不生效 / pool exhausted / 惰性删除) references/08-troubleshoot.md
消息与事件:发布订阅(Pub/Sub)、Stream 可靠队列 / 消费组 / ack、键空间通知(过期事件) references/09-messaging.md

核心强约束

  1. key 序列化器必须 StringRedisSerializer:用默认 JDK 序列化,key 带二进制前缀(\xac\xed...),redis-cli 不可读、keys/scan 模式匹配失效。配置见 references/03-serialization.md §2。
  2. 缓存必须显式 TTL:RedisCacheManager 默认永不过期、手动 set 不传过期参数同理——内存只增不减 + 脏数据永驻。TTL 加 10%~30% 随机抖动防雪崩(references/06-cache-consistency.md §4)。
  3. @Cacheable 的序列化也要显式配:RedisCacheConfiguration.defaultCacheConfig() 默认 value 也是 JDK 序列化——注解缓存与手动 RedisTemplate 是两套独立序列化配置,都要设。
  4. 禁止 keys *:全量遍历阻塞单线程 Redis,生产禁用;用 scan 游标迭代(references/04-template-operations.md §1)。
  5. 分布式锁只用成熟实现(Redisson / lock4j),禁止自写 SET NX + Lua:setnx + expire 两步在崩溃间隔留下死锁;即便补成一条原子命令,续期、可重入、持有者校验释放仍是自己扛的坑位——存量自写锁的修复方向是迁移(references/07-redisson.md §2)。
  6. tryLock 必须显式 leaseTime(持锁硬上限):不传时看门狗(默认 30s 租期、每 10s 续期)在 JVM 存活时无限续期——业务线程挂死而客户端健康,锁永不释放、其他节点全阻塞(等效死锁)。leaseTime 取业务执行上界 × 安全余量,宁可长不可短;锁到期后并发可进入,强互斥场景 DB 兜底(references/07-redisson.md §4)。
  7. unlock 必须 try-finally 且先判持有:if (lock.isHeldByCurrentThread()) lock.unlock(),防租期已过被别人持有时抛 IllegalMonitorStateException。
  8. 写一致性默认「先更新 DB,再删缓存」:不更新缓存(并发写覆盖)、不先删缓存(并发读回填旧值)。要更低脏读率 → 延迟双删,见 references/06-cache-consistency.md §2。
  9. null 缓存必须短 TTL:穿透防护里缓存空值 TTL 控制在 30s~5min,且 unless=&quot;#result == null&quot; 会关闭 null 缓存——别写反。
  10. 配置命名空间随 Boot 版本:Boot 3/4 spring.data.redis.*、Boot 2.x spring.redis.*;哨兵/集群拓扑下 database 仅哨兵/单机有效,cluster 模式不支持 SELECT、配置静默无效(references/01-connection.md §3)。

使用流程

  1. 确认适用性:先执行「第 0 步:依赖探测」,再对照「何时使用本技能」;报错类任务直接从 references/08-troubleshoot.md 症状表入手。
  2. 关键决策检查点:逐字扫描 C1–C3 触发信号;命中 → 本轮只输出确认选择题,禁止生成代码。
  3. 定位 reference:查「决策路由」表,读对应文件。
  4. 编码前过强约束:10 条核心强约束逐条对照,尤其 TTL(第 2/9 条)与序列化(第 1/3 条)。
  5. 遇异常先查排错:references/08-troubleshoot.md。
  6. 输出前自检(二值核对,任一为「否」即违规,必须返工):
    - C1–C3 已逐项扫描:命中的检查点均已确认,或已标注「未确认,已使用默认方案」?
    - 所有写入(set / cacheManager / increment 初始化)都带显式 TTL(含 null 缓存短 TTL)?
    - key 序列化器为 String?@Cacheable 与 RedisTemplate 两套序列化都配了?
    - 锁:try-finally + isHeldByCurrentThread 判断 + leaseTime 显式且大于业务上界?
    - 没有出现 keys *、setnx+expire 两步、先删缓存后更新 DB?
    - 配置前缀与 Boot 版本一致(spring.data.redis vs spring.redis)?

常见问题

5 问
答案由本站依据条目字段整理
Redis 开发助手怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a36dc51e/redis-dev。安装方式为未标注。装完刷新技能列表或重开客户端。

Redis 开发助手支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Redis 开发助手权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Redis 开发助手收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Redis 开发助手用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。