关于 redis-core
redis-core 是一项 Redis 基础技能,指导开发者按访问模式选择数据类型,并保持键名一致、易维护。
主要功能
- 01Redis 数据类型选择指南
- 02键名规范建议
- 03Hash 与 JSON 的选择建议
- 04常见数据模式示例
适用场景
- 01建模缓存对象或会话
- 02构建计数器和排行榜
- 03审查或重构 Redis 键名
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ redis/ agent-skills --skill redis-core安装后在 Claude Code 中输入/redis-core确认已加载。
附带文件references/choose-data-structure.mdreferences/key-naming.md
详细介绍
Redis Core
Redis 数据建模的基础指南。涵盖数据类型选择和键名约定——这两项决策最直接地影响内存、性能和可维护性。
适用场景
- 缓存对象、会话或用户级状态。
- 计数器、排行榜、最近项目列表、唯一成员集合。
- 审查或重构 Redis 键名。
- 决定实体应使用 Redis Hash 还是 JSON 文档。
1. 选择合适的数据结构
选择与访问模式匹配的类型,而不只是看数据的形状。
| 用例 | 推荐类型 | 原因 |
|---|---|---|
| 简单值、计数器 | String | 原子 INCR/DECR、SET/GET |
| 字段可独立更新的对象 | Hash | 按字段读写,无需重写整个对象 |
| 队列、最近 N 项 | List | 在两端推入/弹出均为 O(1) |
| 唯一项、成员资格检查 | Set | SADD/SISMEMBER/SCARD 均为 O(1) |
| 排名、按分数查询范围 | Sorted Set | 按分数排序;ZADD/ZRANGE/ZRANK |
| 嵌套 / 层级数据 | JSON | 按路径更新、嵌套数组、RQE 索引 |
| 事件日志、扇出消息 | Stream | 持久化、消费者组 |
| 向量相似度 | Vector Set | 使用 HNSW 原生存储向量 |
**常见反模式:**将扁平对象塞进序列化字符串。更新一个字段就意味着获取 + 解析 + 修改 + 重写。不妨改用 Hash。
有关完整原理以及 Python/Java 示例,请参阅 references/choose-data-structure.md。
2. 使用一致的键名
使用 colon-separated 片段构成稳定的层级结构:
{entity}:{id}:{attribute}
user:1001:profile
user:1001:settings
order:2024:items
session:abc123
article:987:likes
game:space-invaders:leaderboard
经验法则:
- 使用小写字母,以冒号分隔。 不要使用空格或大小写混用(
User_1001_Profile就不合适)。 - 键名应简短但易读——键占用内存,并且会出现在每条命令中。
- 不要使用完整 URL 或长字符串作为键。 提取简短标识符,或使用 URL 的哈希摘要。
- 为多租户添加前缀(
tenant:42:user:7:cart),以便扫描和 ACL 能准确针对某个租户。 - 保持一致。 每个服务选定一种约定,并应用于所有键。
有关清理示例和边缘情况,请参阅 references/key-naming.md。
参考资料
评论
支持 Markdown