1、概述:
Redis在设计之初就被定义为长时间不间断运行的服务进程,所以大多数系统配置参数均可以在不从新启动进程的状况下当即生效。即使是将当前的持久化模式从AOF切换到RDB也无需重启。
在Redis中,提供了一组和服务器管理相关的命令,其中就包含和参数设置有关的CONFIG SET/GET command。
2、相关命令列表:redis
命令原型 | 时间复杂度 | 命令描述 | 返回值 |
CONFIGGETparameter | 主要用于读取服务器的运行时参数,可是并非全部的配置参数均可以经过该命令进行读取。其中该命令的参数接受glob风格的模式匹配规则,所以若是参数中包含模式元字符,那么全部匹配的参数都将以key/value方式被列出。若是参数是*,那么该命令支持的全部参数都将被列出。最后须要指出的是,和redis.conf中不一样的是,在命令中不能使用数量缩写格式,如GB、KB等,只能使用表示字节数量的整数值。 | ||
CONFIG SETparameter value | 该命令用于从新配置Redis服务器的运行时参数,在设置成功以后无需重启即可生效。然而并不是全部的参数均可以经过该命令进行动态设置,若是须要获悉该命令支持哪些参数,能够查看CONFIG GET * 命令的执行结果。若是想在一个命令中设置多个同类型参数,如redis.conf配置文件中的save参数:save 900 1/save 300 10。在该命令中咱们能够将多个key/value用双引号括起,并用空格符隔开,如:config set save "900 1 300 10"。 | OK表示设置成功,不然返回相关的错误信息。 | |
CONFIG RESETSTAT | O(1) | Reset INFO命令给出的统计数字。 | 始终返回OK。 |
DBSIZE | 返回当前打开的数据库中Keys的数量。 | Key的数量。 | |
FLUSHALL | 清空当前服务器管理的数据库中的全部Keys,不只限于当前打开的数据库。 | ||
FLUSHDB | 清空当前数据库中的全部Keys。 | ||
INFO | 获取和服务器运行情况相关的一些列统计数字。 | ||
SAVE | 设置RDB持久化模式的保存策略。 | ||
SHUTDOWN | 中止全部的客户端,同时以阻塞的方式执行内存数据持久化。若是AOF模式被启用,则将缓存中的数据flush到AOF文件。退出服务器。 | ||
SLAVEOFhost port | 该命令用于修改SLAVE服务器的复制设置。若是一个Redis服务器已经处于SLAVE状态,SLAVEOF NO ONE命令将关闭当前服务器的被复制状态,与此同时将该服务器切换到MASTER状态。该命令的参数将指定MASTER服务器的监听IP和端口。还有一种状况是,当前服务器已是另一台MASTER的SLAVE了,在执行该命令后,当前服务器将终止和以前MASTER之间的复制关系,而将成为新MASTER的SLAVE,以前MASTER中的数据也将被清空,改成新MASTER中的数据。然而若是在当前SLAVE服务器上执行的是SLAVEOF NO ONE命令,那么该服务器只是中断与当前MASTER的复制关系,并升级为独立的MASTER,其中的数据也不会被清空。 | ||
SLOWLOGsubcommand [argument] | 该命令主要用于读取执行时间较长的命令。其中执行时间的评判标准仅为命令自己的执行时间,并不包括网络交互时间。和该命令相关的配置参数主要有两个,第一个就是执行之间的阈值(以微秒为单位),即执行时间超过该值的命令都会被存入slowlog队列,以供该命令读取。第二个是slowlog队列的长度,若是当前命令在存入以前,该队列中的命令已经等于该参数,在命令进入以前,须要将队列中最老的命令移出队列。这样能够保证该队列所占用的内存总量保持在一个相对恒定的大小。因为slowlog队列不会被持久化到磁盘,所以Redis在收集命令时不会对性能产生很大的影响。一般咱们能够将参数"slowlog-log-slower-than"设置为0,以便收集全部命令的执行时间。该命令还包含如下几个子命令: 1). SLOWLOG GET N: 从slowlog队列中读取命令信息,N表示最近N条命令的信息。 2). SLOWLOG LEN:获取slowlog队列的长度。 3). SLOWLOG RESET:清空slowlog中的内容。 最后给出SLOWLOG GET命令返回信息的解释。 redis 127.0.0.1:6379> slowlog get 10 1) 1) (integer) 5 #惟一表示符,在Redis重启以前,该值保证惟一。 2) (integer) 1330369320 #Unix Timestamp格式表示的命令执行时间。 3) (integer) 13 #命令执行所用的微秒数。 4) 1) "slowlog" #以字符串数组的格式输出收集到的命令及其参数。 2) "reset" |