辛星浅析Redis中的服务器管理

Redis在设计之初就被定义为可以长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动的情况下立即生效。即便是当前的持久化模式从AOF切换到RDB也无需重启。在Redis中,我们还有一些和服务器管理相关的命令,我们介绍如下:

(1)config    get   parameter    主要用于读取服务器的运行时参数,但是并不是所有的配置参数都可以通过该命令进行读取。其中该命令的参数接受glob风格的模式匹配规则,因此如果参数中包含模式元字符,那么所有匹配的参数都将以key/value方式被列出。如果参数是*的话,那么该命令支持的所有参数都会被列出。它和redis.conf中不同的是,在命令中不能使用数量的缩写格式,比如GB、KB等等,只能使用表示字节数量的整数。

(2)config  set  parameter  value   该命令用于重新配置Redis服务器的运行时参数,在设置成功后无需重启便可生效。然而并非所有的参数都可以通过该命令进行动态设置,我们可以通过config  get  *  来查看该命令支持哪些参数。如果想在一个命令中设置多个参数类型,比如在redis.conf中的配置文件中的save参数save  900  1  /save  300  10 ,在该命令中我们可以将多个key/value用双引号括起来,然后用空格隔开即可,比如config
  set  save  "900 1 300 10".

(3)config   resetstat     它给出reset  info命令给出的统计数字,它始终返回OK。

(4)dbsize     返回当前打开的数据库中keys的数量。

(5)flushdb    清空当前数据库中的所有keys。

(6)info     获取跟服务器运行状况相关的一些统计数字。

(7)save    设置RDB持久化模式的保存策略。

(8)shutdown    停止所有的客户端,同时以阻塞的方式设置内存数据持久化。如果AOF模式被启用,则将缓存中的数据flush到AOF文件,同时推出服务器。

(9)slaveof    host   port    该命令用于修改slave 服务器的复制设置。如果一个Redis服务器已经处于slave状态,那么slaveof  no  one命令将关闭当前服务器的被复制状态,与此同时将该服务器切换到master状态。该命令的参数将制定master服务器的监听IP和端口。还有一种情况是,当前服务器已经是另一个master的slave了,在执行该命令后,当前服务器将终止和之前master之间的复制关系,而将成为新的master的slave,之前master中的数据也将被清空,改为新master中的数据。然而如果在当前slave服务器上执行的是slaveof
  no   one命令,那么该服务器只是中断与当前master的复制关系,并且升级为独立的master,其中的数据也不会被清空。

(10)slowlog   subcommand  [argument]   该命令主要用于读取执行时间较长的命令。其中执行时间的评判标准仅仅为命令本身的执行时间,并不包括网络较好怒时间。和该命令相关的配置参数主要有两个,第一个就是执行之间的阀值,以毫秒为单位,即执行时间超过该值的命令都会被存入slowlog队列,以供命令读取。第二个是slowlog队列的长度,如果当前命令在存入之前,该队列中个的命令已经等于该参数,那么在命令进入之前,需要将队列中最老的命令移出队列。这样可以保证该队列所占用的内存总量保持在一个相对恒定的大小。由于slowlog队列不会被持久化到磁盘,因此Redis在收集命令时不会对性能产生很大的影响。通常我们可以将参数"slowlog-log-slower-than"设置为0,以便收集所有命令的执行时间。该命令还可以包含如下几个子命令:

slowlog   get  n  :从slowlog队列中读取命令信息,其中n表示最近n条命令的信息。

slowlog      len  :获取slowlog队列的长度。

slowlog    reset:清空slowlog队列的内容。

时间: 2024-10-20 15:21:57

辛星浅析Redis中的服务器管理的相关文章

辛星浅析Redis中与key有关的命令

在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern   它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的.它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号中的任意一个字母. (2)del   key ....   它是从数据库中删除参数中指定的keys,如果指定的

辛星浅析Redis中的配置文件

Redis中的主要配置项如下: (1)daemonize  yes     它表示是否在后台运行,如果写成yes,那么在后台运行,如果是no,则表示不在后台运行. (2)pidfile  /var/run/redis.pid 当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,我们也可以在运行多个Redis服务时,指定不同的pid文件和端口 (3)port    6379    指定Redis运行的端口,默认是6379 (4)127.0.0.1  

辛星浅析Redis中的pub/sub功能

pub/sub功能也就是publish/subscribe功能,也就是发布订阅功能.基于事件的系统中,pub/sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者比如客户端以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件,发布者比如服务器可以将订阅者兴趣的事件随时通知相关订阅者. pub/sub功能可以有三个非耦合: (1)时间非耦合,也就是发布者和订阅者不必同时在线,它们不必同时参与交互. (2)空间非耦合,也就是发布者和订阅者不

辛星浅析Redis中的主从复制

首先简单介绍下Redis中的复制: (1)同一个master可以同步多个slave. (2)slave同样可以接受其他slaves的连接和同步请求,这样可以有效的分担master的同步压力. (3)master  server是以非阻塞的方式为slaves提供服务的,所以在master-slave同步期间,客户端仍然可以提交查询或修改请求. (4)slave   server同样是以非阻塞的方式完成数据同步.在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据. (5)为了分担m

辛星浅析Redis中的字符串类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这就意味着该类型可以接受任何格式的数据,比如图像数据或者json对象等信息,在Redis中字符串类型的value最多可以容纳的数据长度为512M. 我们常用的命令如下: (1)append  key   value   如果该key已经存在,那么append命令会将参数value的值追加到已经存在的value的末尾,如果该key不存在,那么该命令会创建一个新的空字符串,并且把value追加到其末尾. (2)decr

辛星浅析Redis中的有序集合

Redis中的有序集合也就是sorted-set,它和set很相似,都是字符串的集合,都不允许重复的成员出现在一个集合张.有序集合与集合的主要差别是有序集合中的每一个元素都有一个序号与其相连,这个序号即score,Redis通过这个序号来为集合中的成员进行从小到大的排列.需要特别说明的是,尽管有序集合的元素值是唯一的,但是该value对应的score却可以是多个.在有序集合中添加.删除.更新一个成员的操作都很快,其时间复杂度是集合中成员的对数. 因为有序集合中的成员在集合中的位置是有序的,即便是

辛星浅析linux中lvm的管理

之前lvm的博客也写过几篇,今天再来写一篇关于lvm的管理方面的总结. 操纵lv: 1.卸载lv   umount   "挂载目录" 2.扩展lv   lvextend   -L  +500M   /dev/lv00/lv01 3.重设lv的大小  lvresize  -L   5G  /dev/lv00/lv01 4.缩小lv          lvredure   -L   -3G   /dev/lv00/lv01 5.注意使用resize2fs来重建文件系统 6.挂载lv    

辛星浅析linux中的日志

linux中对于连接时间的日志,一般由/var/log/wtmp和/var/run/utmp这两个文件记录,不过这两个文件无法直接使用cat查看,并且该文件由系统自动更新,我们可以通过w.who.finger.id.last.lastlog.ac命令进行查看. linux中对于进程的监控日志,首先说进程监控日志在监控用户的操作指令是很有效的,当服务器最近发现经常发生无故宕机或者无故被人删除文件等现象时,可以通过使用进程统计日志来查看.我们使用accton  /var/account/pacct来

辛星浅析Linux中的postfix

Postfix是目前Linux下主流的邮件服务器,也就是MTA,主要用来实现SMTP协议,它可以兼容sendmail,而postfix也是为了改进sendmail而制作产生的. 通常来说,postfix比sendmail的优点主要是:①速度更快,通常的说法是快3倍.②更加稳定和健壮.③配置更加灵活和简单.④大多数postfix运行在较低的权限下,安全性更强.⑤可以兼容sendmail. 而且在CentOS6系列中,postfix是默认安装而且开机启动的,它的位置在/etc/postfix,而主配