Redis 命令速查表 - Redis 缓存数据库常用命令大全
Redis 缓存数据库日常运维与开发必备命令都在这里了,从数据结构操作到内存排障,按场景分类整理,现场排障直接复制。
连接与基础 Connection 6
redis-cli -h 127.0.0.1 -p 6379 -a password连接指定实例,-a 指定密码(会警告不安全)
redis-cli --scan --pattern "user:*"安全扫描匹配的 key,不用 KEYS(阻塞)
redis-cli -r 5 -i 1 INFO memory每秒采集一次内存信息,重复 5 次,监控用
AUTH password连接后认证
SELECT 0切换到 0 号库(集群模式不支持)
DBSIZE查看当前库 key 数量
数据结构 Data Structure 11
SET key value EX 300设置键值并 300 秒过期,原子操作
GET key获取字符串值
MSET k1 v1 k2 v2批量设置,减少网络往返
HSET user:1 name "tom" age 30设置哈希字段
HGETALL user:1获取哈希所有字段和值
LPUSH queue task1左推入列表(队头)
BRPOP queue 30阻塞右弹出(队尾),30 秒超时
ZADD rank 100 "user1" 200 "user2"添加有序集合成员和分数
ZRANGE rank 0 -1 WITHSCORES按分数升序返回所有成员
SADD tags "python" "redis"添加集合成员
SINTER set1 set2求交集
键空间 Key Space 8
EXPIRE key 300设置 300 秒后过期
TTL key查看剩余生存时间(-1 永久,-2 不存在)
TYPE key查看 key 的数据类型
DEL key1 key2删除多个 key
UNLINK key异步删除大 key,不阻塞主线程
RENAME old_key new_key重命名 key
RANDOMKEY随机返回一个 key
OBJECT ENCODING key查看 key 的内部编码(ziplist/hashtable/int 等)
持久化与内存 Persistence & Memory 7
BGSAVE后台异步 RDB 快照,不阻塞
LASTSAVE查看上次成功 RDB 保存的 Unix 时间戳
BGREWRITEAOF后台异步重写 AOF 文件,压缩体积
INFO memory查看内存详情,关注 used_memory_human 和 mem_fragmentation_ratio
MEMORY USAGE key查看单个 key 占用内存字节数
CONFIG GET maxmemory查看最大内存限制
CONFIG GET maxmemory-policy查看淘汰策略(noeviction/allkeys-lru 等)
慢查询与监控 Slowlog & Monitor 6
SLOWLOG GET 10查看最近 10 条慢查询
SLOWLOG RESET清空慢查询日志
CONFIG GET slowlog-log-slower-than查看慢查询阈值(微秒,0=全记,-1=禁用)
CLIENT LIST列出所有连接,找空闲连接和来源 IP
CLIENT KILL ID <id>杀指定连接
INFO clients查看客户端统计,关注 connected_clients 和 blocked_clients
集群与复制 Cluster & Replication 5
CLUSTER INFO查看集群状态,cluster_state 应为 ok
CLUSTER NODES查看所有节点角色和连接状态
CLUSTER KEYSLOT key查看 key 所属的哈希槽(0-16383)
INFO replication查看主从角色和同步状态
ROLE简查看角色(master/slave)和偏移量
提示
- 生产环境禁用 KEYS *,用 SCAN 代替,KEYS 会阻塞主线程导致卡顿。
- 删除大 key(列表/哈希/集合)用 UNLINK 不用 DEL,DEL 会阻塞主线程。
- mem_fragmentation_ratio > 1.5 说明碎片率高,考虑重启或使用 activedefrag。
常见问题
Redis 和 Memcached 有什么区别,什么时候该用 Redis?
Redis 支持多种数据结构(字符串、哈希、列表、集合、有序集合)并自带持久化,适合需要复杂数据操作或数据落盘的场景;Memcached 仅支持简单键值且纯内存。需要缓存对象、排行榜、消息队列或会话存储时优先选 Redis。
生产环境为什么不能用 KEYS * 命令?
KEYS * 会遍历整个键空间并阻塞 Redis 主线程,数据量大时会导致服务卡顿甚至超时。应使用 SCAN 命令以增量、非阻塞的方式分批迭代扫描 key。
Redis 的数据会丢吗?如何保证持久化?
Redis 提供 RDB(定时快照)和 AOF(追加日志)两种持久化方式。RDB 恢复快但可能丢最近一次快照后的数据;AOF 更安全但文件更大。生产环境通常同时开启两者以平衡性能与安全性。
由 巧匠 维护
公开更新于 2026年7月21日,内容持续校对官方文档。