4. 常用命令大全
4.1 通用命令
bash
# 查看所有键(生产环境慎用!)
KEYS *
# 生产环境用 SCAN 代替 KEYS
SCAN 0 MATCH user:* COUNT 10
# 查看键的数据类型
TYPE user:1001
# 判断键是否存在
EXISTS user:1001
EXISTS user:9999
# 删除键
DEL temp:key1 temp:key2
# 设置过期时间
EXPIRE session:abc123 3600
# 查看剩余存活时间
TTL session:abc123
# 取消过期
PERSIST session:abc123
# 重命名键
RENAME old_key new_key
# 查看数据库大小
DBSIZEbash
(integer) 1
"hash"
(integer) 1
(integer) 0
(integer) 2
(integer) 1
(integer) 3542
(integer) 1
OK
(integer) 1574324.2 String 命令
bash
# 设置与获取
SET name "Redis"
GET name
# 设置不存在才生效(用于分布式锁)
SETNX lock:1 "holder"
# 批量操作
MSET k1 "v1" k2 "v2" k3 "v3"
MGET k1 k2 k3
# 自增 / 自减
SET counter 10
INCR counter
INCRBY counter 5
DECR counter
DECRBY counter 3
# 追加字符串
SET greeting "Hello"
APPEND greeting " World"
GET greeting
# 获取字符串长度
STRLEN greetingbash
"Redis"
OK
OK
1) "v1"
2) "v2"
3) "v3"
OK
(integer) 11
(integer) 16
(integer) 15
(integer) 12
6
"Hello World"
(integer) 114.3 List 命令
bash
# 两端推入
LPUSH mylist "a" "b" "c"
RPUSH mylist "d" "e"
# 查看列表
LRANGE mylist 0 -1
# 两端弹出
LPOP mylist
RPOP mylist
# 按索引获取
LINDEX mylist 0
# 列表长度
LLEN mylist
# 阻塞弹出(等 10 秒)
BRPOP empty_list 10bash
(integer) 3
(integer) 5
1) "c"
2) "b"
3) "a"
4) "d"
5) "e"
"c"
"e"
"b"
(integer) 3
nil4.4 Hash 命令
bash
# 设置字段
HSET product:1001 name "机械键盘" price 399 stock 50
# 获取字段
HGET product:1001 name
# 批量获取
HMGET product:1001 name price stock
# 获取所有字段和值
HGETALL product:1001
# 字段数
HLEN product:1001
# 递增
HINCRBY product:1001 stock -1
# 删除字段
HDEL product:1001 stockbash
(integer) 3
"机械键盘"
1) "机械键盘"
2) "399"
3) "50"
1) "name"
2) "机械键盘"
3) "price"
4) "399"
5) "stock"
6) "50"
(integer) 3
(integer) 49
(integer) 14.5 Set 命令
bash
# 添加成员
SADD fruits "apple" "banana" "cherry"
SADD fruits "apple"
# 查看所有成员
SMEMBERS fruits
# 判断是否是成员
SISMEMBER fruits "banana"
SISMEMBER fruits "grape"
# 集合大小
SCARD fruits
# 随机取成员
SRANDMEMBER fruits 1
# 删除成员
SREM fruits "banana"
# 集合运算
SADD setA "1" "2" "3"
SADD setB "2" "3" "4"
SINTER setA setB
SUNION setA setB
SDIFF setA setBbash
(integer) 3
(integer) 0
1) "apple"
2) "banana"
3) "cherry"
(integer) 1
(integer) 0
(integer) 3
1) "cherry"
(integer) 1
(integer) 2
1) "2"
2) "3"
1) "1"
2) "2"
3) "3"
4) "4"
1) "1"4.6 Sorted Set 命令
bash
# 添加带分数的成员
ZADD scores 85 "张三" 92 "李四" 78 "王五" 96 "赵六" 88 "钱七"
# 正序排名(分数从低到高)
ZRANGE scores 0 -1 WITHSCORES
# 逆序排名(分数从高到低,适合排行榜)
ZREVRANGE scores 0 2 WITHSCORES
# 获取分数
ZSCORE scores "李四"
# 获取排名
ZREVRANK scores "张三"
# 分数范围查询
ZRANGEBYSCORE scores 80 95 WITHSCORES
# 统计分数范围内的人数
ZCOUNT scores 80 95
# 成员数量
ZCARD scores
# 增加分数
ZINCRBY scores 5 "王五"bash
1) "王五"
2) "78"
3) "张三"
4) "85"
5) "钱七"
6) "88"
7) "李四"
8) "92"
9) "赵六"
10) "96"
1) "赵六"
2) "96"
3) "李四"
4) "92"
5) "钱七"
6) "88"
"92"
(integer) 3
1) "张三"
2) "85"
3) "钱七"
4) "88"
5) "李四"
6) "92"
(integer) 3
(integer) 5
"83"4.7 服务器管理命令
bash
# 查看服务器信息
INFO
# 查看内存信息
INFO memory
# 查看客户端连接
CLIENT LIST
# 查看慢查询日志
SLOWLOG GET 10
# 查看当前数据库的键数量
DBSIZE
# 切换数据库(0-15)
SELECT 1
# 清空当前数据库
FLUSHDB
# 清空所有数据库(极度危险!)
FLUSHALL
# 实时监控命令
MONITOR
# 查看配置
CONFIG GET maxmemory
CONFIG SET maxmemory 4gbbash
# Server
redis_version:7.2.4
redis_mode:standalone
os:Linux 5.15.0-181-generic x86_64
# Memory
used_memory_human:1.45M
maxmemory_human:0B
# Clients
connected_clients:3
(integer) 157432
OK
OK
OK
OK
1) "maxmemory"
2) "0"
OK