ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis(三):Redis的配置文件介绍

2021-04-04 15:33:00  阅读:152  来源: 互联网

标签:配置文件 启用 Redis redis 介绍 max 服务器 默认值 节点


    Redis的配置文件为redis.conf,配置文件主要分为以下几个模块,分别是:

1、GENERAL

2、SNAPSHOTTING

3、REPLICATION

4、SECURITY

5、LIMITS

6、APPEND ONLY MODE

7、LUA SCRIPTING

8、REDIS CLUSTER

9、SLOW LOG

10、ADVANCED CONFIG


1、GENERAL

参数名默认值含义
daemonizenoredis是否作为守护进程来运行,默认不运行为守护进程。
pidfile/var/run/redis.pid如果redis作为守护进程来运行,会将进程的pid写入pidfile所指定的文件中
port6379redis所监听的端口号,默认为6379
tcp-backlog511此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。TCP连接中已完成连接的大小是取tcp-backlog和somaxconn两者的最小值, 所以如果要调大的话必需修改内核的somaxconn值。这个参数即为调用listen()函数时指定的backlog。
bind0.0.0.0配置允许连接redis服务器的IP,默认全网可以连接。
timeout0客户端空闲N秒后服务器关闭连接,0表示禁用该机制。
tcp-keepalive0用来定时向client发送tcp_ack包来探测client是否存活的。默认不探测,官方建议值为60秒。
loglevelnotice

日志级别,可以设置为:

  debug:适用于开发和测试环境,记录非常多信息

  verbose:记录很多无用信息,但不像debug那样混乱。

  notice:记录生产环境中可能用到适当的信息。 

  warning :只记录非常关键和重要的信息
logfile""设置日志文件,如果为空日志则写到标准输出流
databases16设置默认的数据库个数,默认为16

2、SNAPSHOTTING

参数名默认值含义
save900 1服务器在900s内对数据库进行了了至少1次修改,BGSAVE命令就会被执行。
save300 10服务器在300s之内对数据库进行了至少10次修改,BGSAVE命令就会被执行。
save60 10000服务器在60s之内对数据库进行了至少10000次修改,BGSAVE命令就会被执行。
stop-writes-on-bgsave-erroryes在持久化过程成如果出现错误是否停止向redis写入数据。
rdbcompressionyes 是否在持久化的时候使用LZF方式压缩字符串对象。
rdbchecksumyes在持久化的时候,是否进行文件的校验。如果进行文件校验将会付出10%的性能代价。
dbfilenamedump.rdb持久化的文件名。
dir./持久化的工作目录,AOF文件也会写在这里。

3、REPLICATION

参数名默认值含义

slaveof <masterip> <masterport>

未启用配置从服务器的主服务器地址, 保证从服务器重启之后仍然保持主从关系.

masterauth <master-password>

未启用从服务器复制主服务器时需要输入密码
slave-serve-stale-datayes

在主从复制期间或者从服务器和主服务器失去连接时,从服务器充当两种角色:

如果设置为yes,表示从服务器在这期间仍然会回复客户端的请求,此时可能带有过期的数据,或者如果这是第一次同步,数据集可能只是空的。

如果设置为no,表示从服务器对客户端除了INFO和SLAVEOF命令外,其它的所有类型的命令都回复一个错误“SYNC with master in progress”。

slave-read-onlyyes从服务器是否设置为只读。一主多从可以用作读写分离的场景,主提供写,从提供读。

repl-ping-slave-period

10从服务器发送ping给主服务器,如果在该参数指定的时间内没有收到pong,那么表示网络状态不好, 主服务器会断开连接.

repl-timeout

60当redis检测到repl-timeout超时(默认值60s),将会关闭主从之间的连接,redis slave发起重新建立主从连接的请求。
repl-disable-tcp-nodelaynoSYNC是否禁用TCP_NODELAY机制,即TCP的粘包机制.

repl-backlog-size 

1mb复制积压缓冲区的大小.

repl-backlog-ttl

3600复制积压缓冲区在主从服务器失去连接后多久后进行释放.
slave-priority100从服务器被哨兵选未主服务器的优先级,优先级越低,表示越有可能选未主服务器 . 如果设置未0,表示该从服务器不能充当master.

min-slaves-to-write

3从服务器的数量小于3个,主服务器拒绝执行写命令.
min-slaves-max-lag10三个从服务器的延迟都大于等于10s时,主服务器将拒绝执行写命令.

4、SECURITY

参数名默认值含义

requirepass foobared

未启用Redis命令需要输入的密码

rename-command CONFIG ""

未启用重命名Redis的那些危险的命令,这样普通用户不能使用

5、LIMITS

参数名默认值含义

maxclients  10000

未启用Redis最大的客户端数量

maxmemory <bytes>

未启用Redis最大的内存大小,如果超过这个值,redis将会执行过期删除,如果不能执行过期删除,那么redis将会返回错误

maxmemory-policy noeviction

未启用

noeviction: 不删除策略, 达到最大内存限制时, 如果需要更多内存, 直接返回错误信息。(默认值)
allkeys-lru: 所有key通用; 优先删除最近最少使用(less recently used ,LRU) 的 key。
volatile-lru: 只限于设置了 expire 的部分; 优先删除最近最少使用(less recently used ,LRU) 的 key。
allkeys-random: 所有key通用; 随机删除一部分 key。
volatile-random: 只限于设置了 expire 的部分; 随机删除一部分 key。
volatile-ttl: 只限于设置了 expire 的部分; 优先删除剩余时间(time to live,TTL) 短的key。

maxmemory-samples 5

未启动LRU淘汰策略的样例大小,redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取maxmeory-samples个键,删除这些键中最近最少使用的键。

6、APPEND ONLY MODE

参数名默认值含义
appendonlyno是否开启AOF持久化功能
appendfilename"appendonly.aof"AOF持久化文件名
appendfsynceverysec

 AOF持久化的方式:

     no: 不调用fsync(),由OS决定什么时候flush数据到磁盘;

     everysec: fsync()每秒调用一次;

     always: 每次有数据写入就调用一次,最安全但是最慢。
no-appendfsync-on-rewriteno bgrewriteaof往往会涉及大量磁盘操作,这样就会造成主进程在写aof文件的时候出现阻塞的情形,如果该参数设置位no,表示fsync不执行不磁盘操作,只是写入了缓冲区。设置为yes,则执行磁盘操作,但是可能会阻塞很久。
auto-aof-rewrite-percentage100触发redis的rewrite的文件百分比,即当前文件大小大于上一次rewrite文件的的100%时,触发rewrite。
auto-aof-rewrite-min-size64MB最初的rewirte文件的大小。

7、LUA SCRIPTING

参数名默认值含义
lua-time-limit5000 Lua脚本的最大执行时间(ms)

8、REDIS CLUSTER

参数名默认值含义

cluster-enabled yes

未启用是否启动Redis集群功能

cluster-config-file nodes-6379.conf

未启用redis集群的配置文件名

cluster-node-timeout 15000

未启用集群节点的超时时间

cluster-migration-barrier 1

未启用

cluster-migration-barrier属性可以保证redis集群中不会出现裸奔的主节点(这个主节点没有对应的从节点),当某个主节点的

从节点挂掉裸奔后,会从其他富余的主节点分配一个从节点过来,确保每个主节点都有至少一个从节点,不至于因为主节点挂

掉而没有相应从节点替换为主节点导致集群崩溃不可用。

9、SLOW LOG

参数名默认值含义
slowlog-log-slower-than10000表示slowlog的划定界限,只有query执行时间大于slowlog-log-slower-than的才会定义成慢查询,才会被slowlog进行记录。
slowlog-max-len128表示慢查询最大的条数,当slowlog超过设定的最大值后,会将最早的slowlog删除,是个FIFO队列

10、ADVANCED CONFIG

参数名默认值含义
hash-max-ziplist-entries512哈希对象保存的元素个数大于512时进行编码转换,转为哈希表,最开始为压缩列表
hash-max-ziplist-value64哈希对象保存的字符串长度大于64时进行编码转换,转为哈希表,最开始为压缩列表
list-max-ziplist-entries512列表对象保存的元素个数大于512时进行编码转换,转为双端链表,最开始为压缩列表
list-max-ziplist-value64列表对象保存的字符串长度大于64时进行编码转换,转为双端链表,最开始为压缩列表
set-max-intset-entries512集合对象保存的元素个数大于512时进行编码转换,转为哈希表,最开始为整数集合
zset-max-ziplist-entries128有序集合对象保存的元素个数大于128时进行编码转换,转为跳跃表,最开始为压缩列表
zset-max-ziplist-value64有序集合对象保存的元素成员的长度大于64字节时进行编码转换,转为跳跃表,最开始为压缩列表
hll-sparse-max-bytes3000 
activerehashingyes是否激活rehash算法
client-output-buffer-limitnomal 0 0 0 
client-output-buffer-limitslave 256mb 64mb 60 
client-output-buffer-limitpubsub 32mb 8mb 60 
hz10后台函数serverCron函数每秒执行的次数,默认每秒执行10次
aof-rewrite-incremental-fsyncyes在进行AOF文件重写的时候,每产生32MB的文件,就调用fsync函数同步到文件中

标签:配置文件,启用,Redis,redis,介绍,max,服务器,默认值,节点
来源: https://blog.csdn.net/MOU_IT/article/details/115428992

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有