redis

Redis 命令、持久化、集群配置等技能。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "redis" with this command: npx skills add chaterm/terminal-skills/chaterm-terminal-skills-redis

Redis 数据库管理

概述

Redis 命令、持久化、集群配置等技能。

连接管理

本地连接

redis-cli

远程连接

redis-cli -h hostname -p 6379 redis-cli -h hostname -p 6379 -a password

连接并选择数据库

redis-cli -n 1

执行单条命令

redis-cli ping redis-cli get key

集群连接

redis-cli -c -h hostname -p 6379

基础命令

键操作

查看键

KEYS * # 所有键(生产慎用) KEYS user:* # 匹配模式 SCAN 0 MATCH user:* COUNT 100 # 安全遍历

键信息

EXISTS key TYPE key TTL key # 剩余过期时间 PTTL key # 毫秒

键操作

DEL key EXPIRE key 3600 # 设置过期时间 PERSIST key # 移除过期时间 RENAME key newkey

字符串

SET key value SET key value EX 3600 # 带过期时间 SETNX key value # 不存在时设置 GET key MSET key1 val1 key2 val2 MGET key1 key2 INCR counter INCRBY counter 10 DECR counter APPEND key " suffix" STRLEN key

哈希

HSET user:1 name "John" age 30 HGET user:1 name HMSET user:1 name "John" age 30 HMGET user:1 name age HGETALL user:1 HDEL user:1 age HEXISTS user:1 name HKEYS user:1 HVALS user:1 HINCRBY user:1 age 1

列表

LPUSH list value # 左侧插入 RPUSH list value # 右侧插入 LPOP list RPOP list LRANGE list 0 -1 # 获取所有 LLEN list LINDEX list 0 LSET list 0 newvalue LTRIM list 0 99 # 保留前100个 BLPOP list 10 # 阻塞弹出

集合

SADD set member1 member2 SREM set member1 SMEMBERS set SISMEMBER set member SCARD set # 元素数量 SINTER set1 set2 # 交集 SUNION set1 set2 # 并集 SDIFF set1 set2 # 差集 SRANDMEMBER set 3 # 随机获取

有序集合

ZADD zset 100 member1 200 member2 ZREM zset member1 ZRANGE zset 0 -1 # 按分数升序 ZRANGE zset 0 -1 WITHSCORES ZREVRANGE zset 0 -1 # 按分数降序 ZRANK zset member # 排名 ZSCORE zset member # 分数 ZCOUNT zset 100 200 # 分数范围内数量 ZINCRBY zset 10 member

持久化

RDB 快照

手动触发

SAVE # 阻塞 BGSAVE # 后台

配置 redis.conf

save 900 1 # 900秒内1次修改 save 300 10 # 300秒内10次修改 save 60 10000 # 60秒内10000次修改

dbfilename dump.rdb dir /var/lib/redis

AOF 日志

配置 redis.conf

appendonly yes appendfilename "appendonly.aof" appendfsync everysec # always/everysec/no

AOF 重写

BGREWRITEAOF

自动重写配置

auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb

主从复制

从节点配置

REPLICAOF master_host master_port REPLICAOF NO ONE # 取消复制

查看复制状态

INFO replication

redis.conf 配置

replicaof master_host master_port masterauth master_password replica-read-only yes

集群管理

创建集群

redis-cli --cluster create
node1:6379 node2:6379 node3:6379
node4:6379 node5:6379 node6:6379
--cluster-replicas 1

集群信息

redis-cli -c cluster info redis-cli -c cluster nodes

添加节点

redis-cli --cluster add-node new_node:6379 existing_node:6379

重新分片

redis-cli --cluster reshard node:6379

检查集群

redis-cli --cluster check node:6379

性能监控

服务器信息

INFO INFO memory INFO replication INFO stats INFO clients

实时监控

MONITOR # 实时命令(调试用)

慢查询

SLOWLOG GET 10 SLOWLOG LEN SLOWLOG RESET

配置慢查询

CONFIG SET slowlog-log-slower-than 10000 CONFIG SET slowlog-max-len 128

内存分析

MEMORY USAGE key MEMORY DOCTOR DEBUG OBJECT key

客户端列表

CLIENT LIST CLIENT KILL ID client_id

常见场景

场景 1:分布式锁

加锁

SET lock:resource unique_value NX EX 30

解锁(Lua 脚本保证原子性)

EVAL "if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end" 1 lock:resource unique_value

场景 2:限流

滑动窗口限流

MULTI ZADD rate_limit:user:1 timestamp timestamp ZREMRANGEBYSCORE rate_limit:user:1 0 (timestamp-60000) ZCARD rate_limit:user:1 EXPIRE rate_limit:user:1 60 EXEC

场景 3:缓存穿透防护

布隆过滤器(需要 RedisBloom 模块)

BF.ADD filter key BF.EXISTS filter key

空值缓存

SET key "" EX 60 # 缓存空值

场景 4:批量删除

使用 SCAN + DEL

redis-cli --scan --pattern "prefix:*" | xargs redis-cli DEL

使用 UNLINK(异步删除)

UNLINK key1 key2 key3

故障排查

问题 排查方法

内存不足 INFO memory , MEMORY DOCTOR

连接数过多 INFO clients , CLIENT LIST

响应慢 SLOWLOG GET , 检查大 key

主从延迟 INFO replication

集群故障 CLUSTER INFO , CLUSTER NODES

查找大 key

redis-cli --bigkeys

内存分析

redis-cli --memkeys

延迟测试

redis-cli --latency redis-cli --latency-history

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

cron

No summary provided by upstream source.

Repository SourceNeeds Review
General

system-admin

No summary provided by upstream source.

Repository SourceNeeds Review
General

systemd

No summary provided by upstream source.

Repository SourceNeeds Review
General

vpn

No summary provided by upstream source.

Repository SourceNeeds Review