Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计通过

redis-skillRedis 技能

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

8,420

周安装

358

GitHub Stars

公开资料未说明

下载量

2,950
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:redis-skill(Redis 技能)
来源仓库:https://github.com/ryanlee-gemini/redis-skill
安装命令:
openclaw skills install redis-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install redis-skill

简介

Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

SKILL.md

name
redis-skill
description
Redis 缓存和数据结构管理技能。通过自然语言操作 Redis,支持 String、Hash、List、Set、ZSet、Stream 等数据结构操作。当用户提到 Redis、缓存、消息队列、会话存储时使用此技能。

Redis Skill - 高性能缓存与数据结构管理

通过自然语言,轻松操作 Redis,利用其丰富数据结构!


🎯 功能特点

核心能力

  • 🚀 高速缓存 - String 类型的键值缓存操作
  • 📦 对象存储 - Hash 结构存储和查询对象
  • 📋 队列操作 - List 实现队列、栈
  • 🎯 集合运算 - Set 的交并差集操作
  • 📊 排序集合 - ZSet 排行榜、范围查询
  • 📡 消息流 - Stream 消息队列
  • ⚡ 性能分析 - 慢查询、内存分析

📋 使用场景

缓存场景

  • "缓存用户信息,过期时间 1 小时"
  • "批量查询缓存,不存在的从数据库加载"
  • "更新缓存,设置过期时间"

排行榜场景

  • "更新游戏分数排行榜"
  • "查询前 10 名玩家"
  • "查询玩家排名"

队列场景

  • "异步任务队列,添加任务"
  • "消费者取任务"
  • "延迟队列实现"

分布式锁

  • "获取分布式锁,防止重复执行"
  • "释放锁"
  • "检查锁状态"

🔧 前置条件

1. 安装 Redis 客户端

安装 redis-cli:

Ubuntu/Debian:

sudo apt update
sudo apt install redis-tools

macOS:

brew install redis

Python 客户端(高级操作):

pip install redis

2. 连接 Redis

使用 redis-cli:

redis-cli -h localhost -p 6379

使用环境变量:

export REDIS_HOST=localhost
export REDIS_PORT=6379
export REDIS_PASSWORD=your_password

💻 常用操作

String 操作 - 基础缓存

# 设置缓存,过期时间 3600 秒
SET user:123 "{'name': 'Alice', 'email': 'alice@example.com'}" EX 3600

# 获取缓存
GET user:123

# 批量获取
MGET user:123 user:456 user:789

# 原子递增(计数器)
INCR page_views
INCRBY download_counter 100

# 不存在才设置(分布式锁)
SETNX lock:task_123 1

Hash 操作 - 对象存储

# 存储对象
HSET user:123 name Alice email alice@example.com age 28

# 获取单个字段
HGET user:123 name

# 获取所有字段
HGETALL user:123

# 批量获取
HMGET user:123 name email age

# 删除字段
HDEL user:123 age

# 检查字段是否存在
HEXISTS user:123 email

#获取所有字段名
HKEYS user:123

# 获取所有值
HVALS user:123

List 操作 - 队列/栈

# 左侧插入(队列头部)
LPUSH queue:task "task_data_1"

# 右侧插入(队列尾部)
RPUSH queue:task "task_data_2"

# 左侧弹出(队列消费)
LPOP queue:task

# 右侧弹出(栈弹出)
RPOP queue:task

# 范围查询(分页)
LRANGE queue:task 0 9

# 列表长度
LLEN queue:task

# 阻塞弹出(生产者-消费者)
BLPOP queue:task 30

Set 操作 - 集合运算

# 添加成员
SADD users:online user_123 user_456 user_789

# 检查成员是否存在
SISMEMBER users:online user_123

# 获取所有成员
SMEMBERS users:online

# 集合大小
SCARD users:online

# 随机获取 N 个成员
SRANDMEMBER users:online 3

# 交集(共同在线的群成员)
SINTER group1:members group2:members

# 并集(所有群成员)
SUNION group1:members group2:members

# 差集(在一个集合但不在另一个)
SDIFF group1:members group2:members

# 将结果存储到新集合
SINTERSTORE common_members group1:members group2:members

ZSet 操作 - 排行榜

# 添加成员及分数
ZADD leaderboard 1500 player_123 2000 player_456 1800 player_789

# 更新分数
ZINCRBY leaderboard 100 player_123

# 查询排名(倒序)
ZREVRANGE leaderboard 0 9

# 查询排名(正序)
ZRANGE leaderboard 0 9

# 查询成员分数
ZSCORE leaderboard player_123

# 查询成员排名
ZREVRANK leaderboard player_123

# 按分数范围查询
ZRANGEBYSCORE leaderboard 1500 2000

# 按分数范围删除
ZREMRANGEBYSCORE leaderboard 0 1000

# 集合大小
ZCARD leaderboard

Stream 操作 - 消息队列

# 添加消息
XADD logs "*" timestamp 1700000000 level "INFO" message "User login"

# 消费消息
XREAD STREAMS logs 0

# 创建消费者组
XGROUP CREATE logs consumers_group 0

# 消费者读取消息
XREADGROUP GROUP consumers_group consumer_1 STREAMS logs >

# 确认消息处理完成
XACK logs consumers_group message_id

🔍 高级功能

分布式锁

# 获取锁(SETNX + 过期时间)
SET lock:resource_123 "unique_id" NX EX 30

# 检查锁是否属于自己
GET lock:resource_123

# 释放锁(Lua 脚本保证原子性)
EVAL "
if redis.call('get', KEYS[1]) == ARGV[1] then
    return redis.call('del', KEYS[1])
else
    return 0
end
" 1 lock:resource_123 "unique_id"

慢查询日志

# 配置慢查询阈值(毫秒)
CONFIG SET slowlog-log-slower-than 10000

# 查看慢查询
SLOWLOG GET 10

# 清空慢查询日志
SLOWLOG RESET

内存分析

# 查看内存使用情况
INFO memory

# 查看键的内存占用
MEMORY USAGE user:123

# 查找大键
SCAN 0 MATCH * COUNT 100

批量操作

# 使用 Pipeline 减少网络往返
EVAL "
local results = {}
for i = 1, #KEYS do
    table.insert(results, redis.call('GET', KEYS[i]))
end
return results
" 3 key1 key2 key3

⚡ 性能优化

连接池配置

import redis

pool = redis.ConnectionPool(
    host='localhost',
    port=6379,
    max_connections=50,
    socket_timeout=5
)
client = redis.Redis(connection_pool=pool)

批量操作优化

  • 使用 Pipeline 批量执行命令
  • 使用 MGET/MSET 批量键值操作
  • 使用 Lua 脚本保证原子性

内存优化

  • 合理设置键的过期时间
  • 使用 Hash 存储对象而非多个 String 键
  • 定期清理无用键
  • 启用 RDB + AOF 持久化

🎓 示例对话

示例 1:缓存管理

用户: "缓存用户信息,过期时间 1 小时"

AI: "正在设置缓存..."

SET user:123 '{"id": 123, "name": "Alice", "email": "alice@example.com"}' EX 3600

示例 2:排行榜更新

用户: "更新玩家得分 1500,然后查询前 10 名"

AI: "更新分数并查询排行榜"

ZADD leaderboard 1500 player_123
ZREVRANGE leaderboard 0 9 WITHSCORES

示例 3:分布式锁

用户: "获取任务 456 的分布式锁,防止重复执行"

AI: "尝试获取分布式锁(30秒过期)"

SET lock:task_456 "unique_id_$(date +%s%N)" NX EX 30

⚠️ 注意事项

安全建议

  1. 启用认证 - 配置 requirepass密码
  2. 网络隔离 - 不要暴露到公网
  3. 最小权限 - 使用不同的 Redis 实例隔离不同业务
  4. 敏感数据加密 - 存储在 Redis 的敏感数据要加密

性能建议

  1. 避免大键 - 大键会阻塞 Redis
  2. 合理设置过期 - 防止内存泄漏
  3. 使用 Pipeline - 减少网络往返
  4. 监控内存 - 设置 maxmemory 防止 OOM

📚 参考资料


开始使用: 告诉我你的 Redis 操作需求,我会帮你生成相应的命令!🚀

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

81.6%
按下载量换算2,407

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills