一、查看配置项
语法:
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