db-redis
Inspect Redis instances configured in .env (DB_REDIS_N_*). Use when the user asks to read keys, check cache state, list keys by pattern, or query info/dbsize on a Redis server. Picks connection by label (e.g. 'cache-dev', 'queue-prod') or numeric index. Read-only in v1 — no SET/DEL/FLUSH exposed.
适合你,如果经常需要查看 Redis 实例中的数据或状态
npx oh-my-skill add evolution-foundation/evo-nexus/db-rediscurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- evolution-foundation/evo-nexus/db-redisnpx oh-my-skill verify evolution-foundation/evo-nexus/db-redis怎么用
商店整理自技能原文 · 版本 7f5dd76 · 表述以原文为准安装后,Claude 可以检查你在 .env 文件中配置的 Redis 实例。它能列出所有连接、进行健康检查、按模式列出键(使用 SCAN 而非 KEYS)、读取单个键(自动识别类型并返回 TTL)、查看服务器信息和数据库大小。所有操作均为只读。
当你要求查看 Redis 键、检查缓存状态、按模式列出键或查询服务器信息时触发。
技能原文 SKILL.md
db-redis
Inspect Redis instances declared in .env. Same numbered block pattern as every other db-* and SOCIAL_*_N_* integration.
Setup — one-time, per instance
Add a block to .env (gitignored):
DB_REDIS_1_LABEL=cache-dev DB_REDIS_1_HOST=redis.dev.internal DB_REDIS_1_PORT=6379 DB_REDIS_1_DB=0 # numeric DB index (default 0) # DB_REDIS_1_USERNAME= # optional (Redis 6+ ACL) DB_REDIS_1_PASSWORD=... # DB_REDIS_1_TLS=false # default false # DB_REDIS_1_ALLOW_WRITE=false # default false (no write verbs in v1 anyway) # DB_REDIS_1_QUERY_TIMEOUT=30 # DB_REDIS_1_MAX_ROWS=1000
Full URL alternative (wins when both are set):
DB_REDIS_2_LABEL=queue-prod DB_REDIS_2_URL=rediss://user:pw@host:6380/0
LABEL is always required.
Usage
All commands output JSON on stdout (safe to pipe). Errors go to stderr.
List configured connections
python3 .claude/skills/db-redis/scripts/db_client.py accounts
Health-check (PING, reports RTT)
python3 .claude/skills/db-redis/scripts/db_client.py test cache-dev
List keys (production-safe — uses SCAN, never KEYS *)
# All keys (up to MAX_ROWS) python3 .claude/skills/db-redis/scripts/db_client.py keys cache-dev # Pattern + limit python3 .claude/skills/db-redis/scripts/db_client.py keys cache-dev 'user:*' 50
Read a single key (auto-detects type)
python3 .claude/skills/db-redis/scripts/db_client.py get cache-dev user:123
Handles string, list, set, hash, zset, stream automatically. Includes TTL in seconds (null if persistent).
Server info
# All sections python3 .claude/skills/db-redis/scripts/db_client.py info cache-dev # Specific section (memory, clients, replication, stats, persistence, ...) python3 .claude/skills/db-redis/scripts/db_client.py info cache-dev memory
Database size (number of keys)
python3 .claude/skills/db-redis/scripts/db_client.py dbsize cache-dev
Output shape
get on a string key:
{
"ok": true,
"label": "cache-dev",
"key": "user:123",
"type": "string",
"value": "alice",
"ttl_seconds": 3600
}
keys:
{
"ok": true,
"query_id": "uuid-v4",
"label": "cache-dev",
"pattern": "user:*",
"keys": ["user:1", "user:2", "user:3"],
"row_count": 3,
"truncated": false,
"execution_time_ms": 8
}
Guardrails
- Read-only verbs only in v1 — GET, SCAN (via
keys), TYPE, TTL, LRANGE/SMEMBERS/HGETALL/ZRANGE/XRANGE (viaget), INFO, DBSIZE, PING. No SET/DEL/FLUSHDB/FLUSHALL exposed.ALLOW_WRITEreserved for future write commands. - SCAN instead of KEYS —
keysusesscan_iterwithcount=200to avoid blocking the server on production instances. - Result cap —
keysstops atMAX_ROWS. Collection readers (LRANGE/SMEMBERS/ZRANGE/XRANGE insideget) also cap atMAX_ROWS. - Decoding — responses decoded as UTF-8 (
decode_responses=True). Raw bytes not supported in v1; if you need binary values, store them base64-encoded or ask for a follow-up.
Error codes
no_connections,not_found,ambiguous,config_error,usage— same as otherdb-*skillsdriver_missing—redis(python) not installedconnection_failed— network, auth, TLS, or timeoutinvalid_args— bad limit argument
Workflow
accountsto confirm the label.dbsizeorinfo memoryfor a quick overview before listing.keys <label> '<pattern>'to find what you're looking for — always use a narrow pattern on prod instances.get <label> <key>to read individual values. TTL is included so you know if the value is ephemeral.
Dependencies
- Python 3.10+
redis(python client) — not pre-installed;uv pip install redison first use. Works against Redis 5+, Redis Stack, Valkey, and managed services (Upstash, Redis Cloud, AWS ElastiCache, Google Memorystore).
Deep-dive references
Redis isn't covered by PlanetScale's database-skills. Authoritative sources:
- Redis Commands
- SCAN vs KEYS — why
keysuses SCAN - ACL (Access Control List) — Redis 6+ username/password
- Memory Optimization
- Persistence (RDB vs AOF)