附录 A:常用命令速查表
忘了命令就来这里 Ctrl+F。按数据类型分组,⭐ 表示最高频。
通用命令
| 命令 | 说明 |
|---|---|
exists key ⭐ | key 是否存在(1/0) |
del key [key...] ⭐ | 删除(同步) |
unlink key | 删除(异步,大 key 用这个) |
type key | 查看类型 |
ttl key ⭐ | 剩余秒数(-1 永久 / -2 不存在) |
expire key 秒 ⭐ | 设置过期 |
persist key | 取消过期 |
rename key newkey | 重命名 |
scan 游标 match 模式 count 数量 ⭐ | 安全遍历 key(代替 keys) |
keys * | ⚠️ 仅学习环境使用 |
dbsize | 当前库 key 总数 |
select n | 切换数据库(0~15) |
flushdb / flushall | ⚠️ 清空当前库 / 所有库 |
String 字符串
| 命令 | 说明 |
|---|---|
set key value ⭐ | 存 |
set key value EX 秒 NX ⭐ | 带过期 + 不存在才设置(锁) |
set key value keepttl | 更新值且保留原过期时间 |
get key ⭐ | 取 |
mset k1 v1 k2 v2 / mget k1 k2 | 批量存 / 取 |
incr key / decr key ⭐ | 原子 +1 / -1 |
incrby key n / decrby key n | 原子 +n / -n |
incrbyfloat key 0.5 | 浮点自增 |
append key value | 追加 |
strlen key | 长度(字节) |
setnx key value | 不存在才设置(旧写法,推荐 set NX) |
Hash 哈希
| 命令 | 说明 |
|---|---|
hset key field value [f v ...] ⭐ | 存字段 |
hget key field ⭐ | 取字段 |
hmget key f1 f2 | 批量取字段 |
hgetall key ⭐ | 取全部(大 hash 慎用) |
hdel key field | 删字段 |
hexists key field | 字段是否存在 |
hlen key | 字段数 |
hkeys key / hvals key | 所有字段名 / 值 |
hincrby key field n ⭐ | 字段原子加 |
hscan key 游标 | 安全遍历大 hash |
List 列表
| 命令 | 说明 |
|---|---|
lpush key v [v...] ⭐ | 左压入 |
rpush key v [v...] | 右压入 |
lpop key / rpop key ⭐ | 左 / 右弹出 |
blpop key 超时秒 / brpop key 超时秒 ⭐ | 阻塞弹出(队列消费) |
lrange key 0 -1 ⭐ | 查看范围(0 -1 = 全部) |
llen key | 长度 |
lindex key n | 按下标取 |
lset key n value | 按下标改 |
ltrim key 0 99 ⭐ | 只保留前 100 个 |
lrem key count value | 删除指定值 |
Set 集合
| 命令 | 说明 |
|---|---|
sadd key m [m...] ⭐ | 添加(自动去重) |
srem key m | 删除成员 |
smembers key ⭐ | 查看全部(大 set 慎用) |
sismember key m ⭐ | 是否存在 |
scard key ⭐ | 成员数 |
spop key [n] | 随机弹出(抽奖-删除) |
srandmember key [n] | 随机查看(不删除) |
sinter k1 k2 ⭐ | 交集(共同好友) |
sunion k1 k2 | 并集 |
sdiff k1 k2 | 差集 |
sinterstore dst k1 k2 | 交集存入新 key |
sscan key 游标 | 安全遍历大 set |
ZSet 有序集合
| 命令 | 说明 |
|---|---|
zadd key score member ⭐ | 添加 / 更新分数 |
zincrby key n member ⭐ | 原子加分 |
zscore key member ⭐ | 查分数 |
zrevrank key member ⭐ | 查排名(从大到小,0 开始) |
zrank key member | 查排名(从小到大) |
zrevrange key 0 9 withscores ⭐ | TOP 10(从大到小) |
zrange key 0 -1 | 从小到大取 |
zrangebyscore key min max | 按分数段取 |
zcount key min max | 分数段计数 |
zcard key | 总数 |
zrem key member | 删除 |
zremrangebyscore key min max | 按分数段删除 |
其他类型
| 命令 | 说明 |
|---|---|
setbit key offset 0/1 / getbit key offset | Bitmap 设 / 取位 |
bitcount key | Bitmap 统计 1 的个数 |
pfadd key e [e...] / pfcount key | HyperLogLog 添加 / 去重计数 |
pfmerge dst k1 k2 | HyperLogLog 合并 |
geoadd key 经度 纬度 名字 | GEO 添加坐标 |
geodist key a b km | GEO 距离 |
geosearch key frommember a byradius 100 km asc | GEO 范围搜索 |
xadd key * field value | Stream 生产消息 |
xrange key - + | Stream 查看消息 |
事务 / 脚本 / 发布订阅
| 命令 | 说明 |
|---|---|
multi → 命令... → exec | 事务 |
discard | 放弃事务 |
watch key | 乐观锁监视 |
eval "脚本" key数 key... 参数... | 执行 Lua 脚本 |
subscribe ch / publish ch msg | 订阅 / 发布 |
psubscribe news.* | 模式订阅 |
服务器管理
| 命令 | 说明 |
|---|---|
ping | 测试连通 |
info [section] ⭐ | 服务器信息(memory/replication/stats...) |
config get 参数 / config set 参数 值 | 查看 / 修改配置 |
slowlog get 10 | 慢查询日志 |
bgsave | 手动 RDB 快照 |
bgrewriteaof | 手动 AOF 重写 |
replicaof host port / replicaof no one | 设置 / 取消主从 |
memory usage key | key 内存占用 |
client list | 连接列表 |
shutdown | ⚠️ 关闭服务器 |
redis-cli 实用参数
redis-cli -h 主机 -p 端口 -a 密码 # 连接
redis-cli --raw # 中文正常显示
redis-cli --bigkeys # 扫描大 key
redis-cli --stat # 实时状态
redis-cli -c -p 7001 # 集群模式连接
redis-cli monitor # ⚠️ 实时打印所有命令(调试用,性能损耗大)