1.BGSAVE
在后台异步(Asynchronously)保存当前数据库的数据到磁盘。
BGSAVE 命令执行之后立即返回 OK
客户端可以通过 LASTSAVE 命令查看相关信息,判断 BGSAVE
可以在 持久化文档 查看更多相关细节。
可用版本:>= 1.0.0
时间复杂度:O(N), N
返回值:反馈信息。
127.0.0.1:6379> bgsave
Background saving started
127.0.0.1:6379>
2.CLIENT GETNAME
CLIENT GETNAME
返回 CLIENT SETNAME
因为新创建的连接默认是没有名字的, 对于没有名字的连接, CLIENT GETNAME
可用版本>= 2.6.9
时间复杂度O(1)
返回值
如果连接没有设置名字,那么返回空白回复;
如果有设置名字,那么返回名字。
# 新连接默认没有名字
redis 127.0.0.1:6379> CLIENT GETNAME
(nil)
# 设置名字
redis 127.0.0.1:6379> CLIENT SETNAME hello-world-connection
OK
# 返回名字
redis 127.0.0.1:6379> CLIENT GETNAME
"hello-world-connection"
3.CLIENT KILL
CLIENT KILL ip:port
关闭地址为 ip:port
ip:port 应该和 CLIENT LIST
因为 Redis 使用单线程设计,所以当 Redis 正在执行命令的时候,不会有客户端被断开连接。
如果要被断开连接的客户端正在执行命令,那么当这个命令执行之后,在发送下一个命令的时候,它就会收到一个网络错误,告知它自身的连接已被关闭。
可用版本>= 2.4.0
时间复杂度O(N) , N 为已连接的客户端数量。
返回值当指定的客户端存在,且被成功关闭时,返回 OK
# 列出所有已连接客户端
redis 127.0.0.1:6379> CLIENT LIST
addr=127.0.0.1:43501 fd=5 age=10 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
# 杀死当前客户端的连接
redis 127.0.0.1:6379> CLIENT KILL 127.0.0.1:43501
OK
# 之前的连接已经被关闭,CLI 客户端又重新建立了连接
# 之前的端口是 43501 ,现在是 43504
redis 127.0.0.1:6379> CLIENT LIST
addr=127.0.0.1:43504 fd=5 age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0
4.CLIENT LIST
CLIENT LIST
以人类可读的格式,返回所有连接到服务器的客户端信息和统计数据。
redis> CLIENT LIST
addr=127.0.0.1:43143 fd=6 age=183 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
addr=127.0.0.1:43163 fd=5 age=35 idle=15 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
addr=127.0.0.1:43167 fd=7 age=24 idle=6 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get
可用版本>= 2.4.0
时间复杂度O(N) , N 为连接到服务器的客户端数量。
返回值
命令返回多行字符串,这些字符串按以下形式被格式化:
- 每个已连接客户端对应一行(以 LF
- 每行字符串由一系列 属性=值
以下是域的含义:
- addr
- fd
- age
- idle
- flags
- db
- sub
- psub
- multi
- qbuf : 查询缓存的长度( 0
- qbuf-free : 查询缓存的剩余空间( 0
- obl
- oll
- omem
- events
- cmd
客户端 flag 可以由以下部分组成:
- O
- S
- M
- x
- b
- i
- d : 一个受监视(watched)的键已被修改, EXEC
- c
- u
- A
- N
文件描述符事件可以是:
- r
- w
为了 debug 的需要,经常会对域进行添加和删除,一个安全的 Redis 客户端应该可以对 CLIENT LIST 的输出进行相应的处理(parse),比如忽略不存在的域,跳过未知域,诸如此类。