您的位置:首页 > 数据库 > Redis

Redis常用的管理命令

2012-10-23 10:46 661 查看

Redis常用的管理命令:

BGREWRITEAOF

异步(Asynchronously)重写AOF文件以反应当前数据库的状态。

即使
BGREWRITEAOF命令执行失败,旧AOF文件中的数据也不会因此丢失或改变。

BGS***E

在后台异步保存当前数据库的数据到磁盘。

BGS***E命令执行之后立即返回OK,然后Redisfork出一个新子进程,原来的Redis进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

客户端可以通过
LASTS***E命令查看相关信息,判断
BGS***E命令是否执行成功。

S***E

同步保存当前数据库的数据到磁盘。

LASTS***E

返回最近一次Redis成功执行保存操作的时间点(
S***E、
BGS***E等),以UNIX时间戳格式表示。

DBSIZE

返回当前数据库的key的数量。



SL***EOF

SL***EOFhostport

SL***EOF命令用于在Redis运行时动态地修改复制(replication)功能的行为。

通过执行SL***EOFhost
port命令,可以将当前服务器转变为指定服务器的从属服务器(slaveserver)。

如果当前服务器已经是某个主服务器(masterserver)的从属服务器,那么执行SL***EOF
hostport将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

另外,对一个从属服务器执行命令SL***EOF
NOONE将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

利用“SL***EOFNOONE不会丢弃同步所得数据集”这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

FLUSHALL

清空整个Redis服务器的数据(删除所有数据库的所有key)。

此命令从不失败。

FLUSHDB

清空当前数据库中的所有key。

此命令从不失败。



SHUTDOWN

SHUTDOWN命令执行以下操作:

停止所有客户端
如果有最少一个保存点在等待,执行
S***E
命令
如果AOF
选项被打开,更新AOF文件
服务器关闭

如果持久化被打开的话,
SHUTDOWN命令会保证服务器正常关闭而不丢失任何数据。

假如只是单纯地执行
S***E命令,然后再执行
QUIT命令,则没有这一保证——因为在执行
S***E之后、执行
QUIT之前的这段时间中间,其他客户端可能正在和服务器进行通讯,这时如果执行
QUIT就会造成数据丢失。



SLOWLOG

SLOWLOGsubcommand[argument]

什么是SLOWLOG

Slowlog是Redis用来记录查询执行时间的日志系统。

查询执行时间指的是不包括像客户端响应(talking)、发送回复等IO操作,而单单是执行一个查询命令所耗费的时间。

另外,slowlog保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启slowlog而损害Redis的速度。

设置SLOWLOG

Slowlog的行为由两个配置参数(configurationparameter)指定,可以通过改写redis.conf文件或者用CONFIG
GET和CONFIGSET命令对它们动态地进行修改。

第一个选项是slowlog-log-slower-then,它决定要对执行时间大于多少微秒(microsecond,1秒=1,000,000微秒)的查询进行记录。

比如执行以下命令将让slowlog记录所有查询时间大于等于100微秒的查询:

CONFIGSETslowlog-log-slower-then
100,

而以下命令记录所有查询时间大于1000微秒的查询:

CONFIGSETslowlog-log-slower-then
1000。

另一个选项是slowlog-max-len,它决定slowlog
最多能保存多少条日志,slowlog本身是一个LIFO队列,当队列大小超过slowlog-max-len时,最旧的一条日志将被删除,而最新的一条日志加入到slowlog,以此类推。

以下命令让slowlog最多保存1000条日志:

CONFIGSETslowlog-max-len
1000。

使用CONFIGGET命令可以查询两个选项的当前值:

redis>CONFIGGETslowlog-log-slower-than

1)"slowlog-log-slower-than"

2)"1000"


redis>CONFIGGETslowlog-max-len

1)"slowlog-max-len"

2)"1000"

查看slowlog

要查看slowlog,可以使用SLOWLOG
GET或者SLOWLOGGETnumber命令,前者打印所有slowlog,最大长度取决于slowlog-max-len选项的值,而SLOWLOG
GETnumber则只打印指定数量的日志。

日志的唯一id只有在Redis服务器重启的时候才会重置,这样可以避免对日志的重复处理(比如你可能会想在每次发现新的慢查询时发邮件通知你)。

查看当前日志的数量

使用命令SLOWLOGLEN可以查看当前日志的数量。

请注意这个值和slower-max-len的区别,它们一个是当前日志的数量,一个是允许记录的最大日志的数量。

清空日志

使用命令SLOWLOGRESET可以清空slowlog。



INFO

返回关于Redis服务器的各种信息和统计值。

CONFIGGETparameter

CONFIGGET命令用于取得运行中的Redis服务器的配置参数(configurationparameters),不过并非所有配置参数都被CONFIG
GET命令所支持。

CONFIGGET接受单个参数parameter作为搜索关键字,查找所有匹配的配置参数,其中参数和值以“键-值对”(key-valuepairs)的方式排列。

比如执行CONFIGGET
s*命令,服务器就会返回所有以s开头的配置参数及参数的值:



CONFIGSETparametervalue

CONFIGSET命令可以动态地调整Redis服务器的配置(configuration)而无须重启。

你可以使用它修改配置参数,或者改变Redis的持久化(Persistence)方式。

CONFIGSET可以修改的配置参数可以使用命令CONFIG
GET*来列出,所有被
CONFIGSET修改的配置参数都会立即生效。

CONFIGRESETSTAT

重置
INFO命令中的某些统计数据,包括:

Keyspacehits(键空间命中次数)
Keyspacemisses(键空间不命中次数)
Numberofcommandsprocessed(执行命令的次数)
Numberofconnectionsreceived(连接服务器的次数)
Numberofexpiredkeys(过期key的数量)

DEBUGOBJECTkey

返回给定key的调试信息。

DEBUGSEGFAULT

令Redis服务器崩溃,调试用。

MONITOR

实时打印出Redis服务器接收到的命令,调试用。

SYNC

用于复制功能(replication)的内部命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: