关于 redis
redis 技能为使用 Redis 的开发者提供数据结构、命令和部署配置指导,涵盖缓存、限流及高可用等常见场景。
主要功能
- 01Redis 数据结构与命令用法
- 02缓存、会话与消息队列模式
- 03RDB、AOF 与复制配置
- 04Sentinel 和 Redis Cluster 配置
- 05Lua 原子操作脚本指导
- 06连接驱动与连接池建议
适用场景
- 01为缓存值设置过期时间
- 02用有序集合实现限流
- 03配置持久化与副本
- 04通过 redis-cli 或驱动连接
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill redis安装后在 Claude Code 中输入/redis确认已加载。
附带文件LICENSE.txt
详细介绍
使用此技能的时机
当用户想要进行以下操作时,使用此技能:
- 使用 Redis 数据结构(string、hash、list、set、sorted set)和命令
- 使用 Redis 实现缓存、会话存储、速率限制或消息队列
- 配置持久化(RDB/AOF)、复制、Sentinel 或 Redis Cluster
- 编写 Lua 脚本以执行原子 Redis 操作
- 通过 redis-cli 或语言驱动程序连接(连接池、序列化)
如何使用此技能
工作流
- 识别用例 - 缓存、会话存储、队列、发布/订阅或数据结构
- 选择数据结构 - 简单值用 String,对象用 Hash,队列用 List,排名用 Sorted Set
- 使用适当的命令实现 - 使用下方的模式
- 配置持久化和复制 - 根据持久性要求进行配置
快速入门示例:使用 TTL 缓存
# Set a cache entry with 5-minute TTL
redis-cli SET user:1001:profile '{"name":"Alice","role":"admin"}' EX 300
# Retrieve the cached value
redis-cli GET user:1001:profile
# Check remaining TTL
redis-cli TTL user:1001:profile
使用 Sorted Sets 进行速率限制
# Add request timestamp to sorted set
redis-cli ZADD rate:user:1001 1710000000 "req1"
# Count requests in the last 60 seconds
redis-cli ZRANGEBYSCORE rate:user:1001 1709999940 1710000000
# Remove expired entries
redis-cli ZREMRANGEBYSCORE rate:user:1001 0 1709999940
最佳实践
- 使用带命名空间的键 - 格式为
service:entity:id:field(例如,app:user:1001:session) - 始终设置 TTL - 防止陈旧数据导致内存泄漏;在 SET 上使用
EX/PX - 避免使用过大的键 - 将超过 1MB 的哈希拆分;在生产环境中使用 SCAN 而非 KEYS
- 谨慎选择持久化方式 - RDB 用于快照(重启速度快),AOF 用于持久性(每次写入)
- 保障生产环境安全 - 要求设置密码(
requirepass),绑定到私有 IP,禁用FLUSHALL
关键词
redis、cache、caching、缓存、data structures、数据结构、pub/sub、sentinel、cluster、主从、集群、rate limiting、session store、Lua scripting
评论
支持 Markdown