*Redis配置详解
*Redis命令配置
Redis的配置文件位于Redis安装目录下,文件名为 redis.conf。
可以通过CONFIG命令查看或设置配置项。
Redis命令不区分大小写。
*1、获取配置项
语法:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
示例:
127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "notice"
使用 \* 号获取所有配置项:
127.0.0.1:6379> config get *
1) "dbfilename"
2) "dump.rdb"
3) "requirepass"
4) ""
5) "masterauth"
6) ""
7) "unixsocket"
8) ""
9) "logfile"
10) ""
......
*2、编辑配置
可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。
语法:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
示例:
127.0.0.1:6379> config set loglevel "notice"
OK
127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "notice"
*Redis配置文件参数详解
redis.conf 配置项说明如下:
+-----------------------------------+-----------------------------------+
| 配置项 | 说明 |
+===================================+===================================+
| daemonize no | 是否以守护进程的方式运行 |
| | ,默认为no,使用yes为启动守护进程 |
+-----------------------------------+-----------------------------------+
| pidfile /var/run/redis.pid | 如何以守护进程方式运行 |
| | ,Redis默认会把pid写入/var/run/r |
| | edis.pid文件,可以通过pidfile指定 |
+-----------------------------------+-----------------------------------+
| port 6379 | Redis监听端口,默认为6379, |
| | 如果端口是0,则redis将不会监听TCP |
| | socket连接 |
+-----------------------------------+-----------------------------------+
| bind 127.0.0.1 | 绑定的主机地址 |
+-----------------------------------+-----------------------------------+
| timeout 300 | 连接超时时间,单 |
| | 位秒,如果指定为0,表示关闭该功能 |
+-----------------------------------+-----------------------------------+
| loglevel verbose | 指定日志 |
| | 记录级别,Redis总共支持四个级别: |
| | |
| | de |
| | bug:很详细的信息,开发和测试使用 |
| | |
| | verbose:默认项,包含许 |
| | 多不太有用的信息,比debug清爽一些 |
| | |
| | notice:适合生产环境 |
| | |
| | warning:警告信息 |
+-----------------------------------+-----------------------------------+
| logfile stdout | 日志记录方式,默认为标准 |
| | 输出。如果配置Redis为守护进程方式 |
| | 运行而这里又配置为日志记录方式为 |
| | 标准输出,则日志会输出到/dev/null |
+-----------------------------------+-----------------------------------+
| # syslog-enabled no | 设置为ye |
| | s会把日志输出到系统日志,默认是no |
+-----------------------------------+-----------------------------------+
| # syslog-ident redis | 指定syslog的标示符,如果'sy |
| | slog-enabled'是no,则这个选项无效 |
+-----------------------------------+-----------------------------------+
| # syslog-facility local0 | 指定syslog |
| | 设备(facili |
| | ty),必须是user或者local0到local7 |
+-----------------------------------+-----------------------------------+
| databases 16 | 设置数据库的数 |
| | 量,默认数据库为0,可以使用SELECT |
| | <dbid>命令在连接上指定数据库id |
+-----------------------------------+-----------------------------------+
| save <seconds> <changes> | 指定在多长时间内,有 |
| | 多少次更新操作,就将数据同步到数 |
| | 据文件(硬盘),可以多个条件配合 |
+-----------------------------------+-----------------------------------+
| save 900 1 | 过了900秒并且有1个key发生了改变 |
| | 就会触发save动作 |
+-----------------------------------+-----------------------------------+
| save 300 10 | 过了300秒并且有1 |
| | 0个key发生了改变 就会触发save动作 |
+-----------------------------------+-----------------------------------+
| save 60 10000 | 过了6 |
| | 0秒并且至少有10000个key发生了改变 |
| | 也会触发save动作 |
+-----------------------------------+-----------------------------------+
| rdbcompression yes | 存储数据时是否压缩数据。默认是yes |
+-----------------------------------+-----------------------------------+
| dbfilename dump.rdb | 指定本 |
| | 地数据库文件名,默认值为dump.rdb |
+-----------------------------------+-----------------------------------+
| dir ./ | 指定本地数据库存放目录 |
+-----------------------------------+-----------------------------------+
| slaveof <masterip> | 设置当本机为slave服务时,设置mas |
| <masterport> | ter服务的IP地址及端口,在Redis启动 |
| | 时,它会自动从master进行数据同步 |
+-----------------------------------+-----------------------------------+
| # masterauth <master-password> | 当master服务设置了密码 |
| | 保护时,slave服务连接master的密码 |
+-----------------------------------+-----------------------------------+
| slave-serve-stale-data yes | 当slave丢失与master的连 |
| | 接时,或者slave仍然在于master进行 |
| | 数据同步时(还没有与master保持一 |
| | 致),slave相应客户端请求的方式。 |
| | |
| | 如果设置成 'yes' (the default) |
| | slave会仍然响应客户端请求 |
| | |
| | 如果设置成 'no' |
| | slave会返回"SYNC with master in |
| | progress"这样的错误信息 |
+-----------------------------------+-----------------------------------+
| # requirepass foobared | 设置 |
| | Redis连接密码,如果配置了连接密码 |
| | ,客户端在连接Redis时需要通过AUTH |
| | \ |
| |