文章

Redis常用命令

连接Redis服务

1
2
3
redis-cli   # 默认登入 127.0.0.1:6379

redis-cli -h <IP_ADDRESS> -p <PORT>

验证用户

1
2
# 登入之后执行
> AUTH <密码>

获取服务器信息

1
2
3
4
5
6
# 登入之后执行
info

info memory  # 获取内存使用信息

info Keyspace  # db库使用情况

数据库操作

切换数据库

Redis 默认有 16 个数据库,使用 select 命令切换:

1
select <DB_NUMBER>

数据库清空

1
2
3
4
5
# 删除所有数据库中的数据
flushall

# 删除当前选择的数据库中的所有数据
flushdb

数据操作

获取所有key

1
2
3
4
5
6
7
8
9
10
11
# 慎用
KEYS * 

# 使用 SCAN 命令(推荐)
SCAN 0 MATCH * COUNT 1000

0:游标起始值(第一次为 0,后续返回游标号)。
MATCH *:匹配所有 key(可自定义模式,如 user:*)。
COUNT 1000:单次扫描返回的最大 key 数量(实际返回数量可能不同)。
优点:非阻塞,适合大数据量场景。

查看当前库的key数量

1
DBSIZE

键操作

1
2
3
4
5
6
7
8
9
10
11
# 获取指定键值
get key

# 设置键值对
set key value

# 删除指定键
del key [key2 ...]

# 检查键是否存在:
exists key

字符串(String)操作

1
2
3
4
5
6
7
8
9
10
11
# 设置字符串值 :
set key value

# 获取字符串值
get key

# 原子性递增 
incr key [by number]

# 原子性递减
decr key [by number]

列表(List)操作

1
2
3
4
5
6
7
8
9
10
11
# 向列表左侧添加元素:
lpush list_key element

# 向列表右侧添加元素
rpush list_key element

# 获取列表中的指定范围元素:
lrange list_key start stop

# 获取列表长度
llen key

集合(Set)操作

1
2
3
4
5
6
7
8
# 向集合中添加成员:
sadd set_key member [member2 ...]

# 检查成员是否存在
sismember set_key member

# 获取集合中所有成员
smembers set_key

哈希(Hash)操作

1
2
3
4
5
6
7
8
# 设置哈希字段的值
hset hash_key field value

# 获取哈希字段的值
hget hash_key field

# 获取所有哈希字段及值
hgetall key

键的过期与 TTL(Time To Live)

1
2
3
4
5
6
7
8
# 设置键的过期时间 :
expire key seconds

# 查看键的剩余生存时间 
ttl key

# 移除键的过期时间 :
persist key

数据持久化

立即进行数据持久化(阻塞)

1
save

后台执行数据持久化(非阻塞)

1
bgsave

监控与诊断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 实时监控所有传入命令
monitor

# 列出所有键 
keys *

# 统计数据库大小 :
dbsize

# 查看慢查询日志的长度
slowlog len

# 重置慢查询日志:
slowlog reset

客户端管理

1
2
3
4
5
# 列出所有已连接客户端的信息
client list

# 断开指定IP和端口的客户端连接
client kill ip:port
本文由作者按照 CC BY 4.0 进行授权