计算机网络/计算机科学与应用/系统/运维/开发

查看与修改Redis配置项

一、查看配置项

语法: 

CONFIG GET CONFIG_SETTING_NAME


查看redis日志级别

42.192.180.238:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"

查看所有配置项:

42.192.180.238:6379> CONFIG GET *

二、修改配置项

CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE


修改redis日志级别:

42.192.180.238:6379> CONFIG SET loglevel "notice"
OK
42.192.180.238:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"

三、配置项说明(redis.conf)

1、Redis默认不是以守护进程的方式运行,可以通过daemonize配置项修改

如果指定yes,表示启用守护进程

daemonize no


2、如果redis以守护进程方式运行时,默认会把pid写入/var/run/redis.pid文件

pidfile /var/run/redis.pid


3、指定redis监听端口 

port 6379


4、指定绑定主机地址,用于限制链接,默认本机访问

bind 127.0.0.1 

远程访问可以改为 bind 0.0.0.0


5、指定redis客户端闲置多长时间关闭链接,指定为0 表示关闭该功能

timeout 300


6、指定日志记录级别,4个级别(debug,verbose ,notice,warning) 默认值verbose

loglevel verbose


7、指定日志文件的保存路径,如果指定为"",表示默认标准输出

logfile ""


8、指定数据库的数量,默认数据库为0(可以使用select命令链接指定的数据库 select 1)

databases 16


9、指定在多长时间内执行多少次更新操作,Redis就将数据同步到数据文件中

save <seconds> <changes>


Redis默认配置文件设置了3个触发条件:

save 900 1

save 300 10

save 60 10000


save 900 1表示900s(15min)内有1个更新

save 300 10表示300s(5min)内有10个更新

save 60 10000表示60s(1min)内有10 000个更新

Redis就将数据同步到数据文件中


10、对于存储到磁盘中的Redis快照,可以设置是否进行压缩存储,默认值为yes。如果指定为yes,Redis会采用LZF压缩算法对存储到磁盘中的Redis快照进行压缩。如果不想消耗CPU来压缩快照的话,可以指定为no来关闭该选项,但是存储在磁盘上的快照会比较大

rdbcompression yes


11、指定存储数据的本地数据库的文件名,默认值为dump.rdb

dbfilename dump.rdb


12、指定本地数据库存放目录

dir /usr/local/redis/bin


13、指定当本机为Slave(从服务器)服务时,Master(主服务器)服务的IP地址及端口。在Redis启动时,它会自动从Master服务进行数据同步

slaveof <masterip><masterport>


14、指定当Master服务设置了密码保护时,Slave服务连接Master服务的密

masterauth <master-password>


15、指定Redis的连接密码。如果配置了连接密码,则客户端在连接Redis时需要使用AUTH命令提供密码,默认配置是关闭的

requirepass foobared


16、指定同一时间内客户端允许的最大连接数,如果设置为maxclients 0,表示不做限制。当客户端连接数达到最大限制时,Redis会关闭新的连接并向客户端发送max number of clients reached错误信息

maxclients 128


17、指定Redis的最大内存限制。Redis在启动时会把数据缓存到内存中,达到最大内存后,Redis会尝试清除已到期的key。Redis新的vm(虚拟内存)机制,会把key存放在内存,把value存放在swap区

maxmemory <bytes>


18、指定Redis是否在每次执行更新操作后进行日志记录,在默认情况下Redis是异步地把内存中的数据写入磁盘的。如果不开启此选项,可能会在主机断电时丢失一段时间内的数据。该选项默认值为no

appendonly no


19、指定更新日志文件名,默认值为appendonly.aof

appendfilename appendonly.aof


20、指定更新日志的条件,共有3个可选值

no:表示等操作系统进行数据缓存后才同步到磁盘,特点是速度快

always:表示每次执行更新操作后,需要手动调用fsync()将数据写到磁盘,特点是速度慢,比较安全

everysec:表示每秒同步一次数据到磁盘,是上面两个选项的折中选项,也是默认值


appendfsync everysec


21、指定是否启用虚拟内存机制,默认值为no

vm-enabled no


22、指定虚拟内存文件路径,默认值为/tmp/redis.swap。不可多个Redis实例共享

vm-swap-file /tmp/redis.swap


23、指定将所有大于vm-max-memory的数据存入虚拟内存,默认值为0,无论vm-max-memory多小,所有索引数据都是内存存储的(Redis的索引数据就是key),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存储在磁盘

vm-max-memory 0


24、Redis的swap文件被分成了很多个page,一个对象可以保存在多个page上,但一个page不能被多个对象共享

vm-page-size 32


25、指定swap文件中的page数量

vm-pages 134217728


26、指定访问swap文件的线程数,此选项值最好不要超过计算机的核数。如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。此选项默认值为4

vm-max-threads 4


27、指定在向客户端响应时,是否把较小的包合并为一个包发送,默认值为yes

glueoutputbuf yes


无才无以立足,不苦不能成才。

评论

^