redis的配置文件为 redis.conf, 使用 ./redis-server /path/to/redis.conf 可以根据自定义的配置启动redis实例

include // 引入其他配置文件, 将统一的配置放在一块,将不同的配置单独配置,然后引入相同的配置
daemonize no  // yes为后台运行,no为控制台运行
pidfile // pid文件的位置,由于redis可以启动多实例,每个实例要使用不同的一个pid文件,所以要指定此项
port 6379 // 启动端口
tcp-backlog 511  //此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。
 
bind 127.0.0.1 // 监听的网卡 不设置的话是全部的网卡
 
timeout 0  // 客户端无操作超时时间 0为永不超时
tcp-keepalive 60  // 如果设置非0值,那么单位是秒,将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方建议值是60s
loglevel notice // 指定服务器的日志类型: debug, verbose, notice, warning。 默认是notice
logfile  // 指定日志的地方
syslog-enabled // 是否写入系统日志
syslog-ident  // 系统日志 类型标识
databases 16 // 开多少个数据库 ,默认为0号数据库 , 用select 命令可以换db
----------------快照设置start-------------------------------
save 60 1000   --在60s内有1000条写入就执行快照,该配置可以设置多次,满足其中一条即开始快照,一条以上就启用快照功能
stop-writes-on-bgsave-error no   --如果快照写入失败(由于某些原因),Redis是否停止接收写操作(是或否)
rdbcompression yes  // 是否使用LZF压缩STRING当写入rdb的时候
rdbchecksum yes // 是否对rdb进行CRC64校验
dir ./  -- 快照写到什么地方
dbfilename dump.rdb   -- 内存快照的文件名
----------------快照设置end--------------------------------
-----------------------AOF start---------------------------------
appendonly no   --是否开启aof
appendfsync everysec   -- aof文件的同步频率,取值为 always(每次写操作同步),everysec(每秒钟),no(由操作系统决定什么时候写入)
no-appendfsync-on-rewrite no -- 是否在aof文件重写期间调用fsync
appendfilename "appendonly.aof" // aof文件名
auto-aof-rewrite-percentage 100 -- 指定重写aof文件的条件,超过上次rewrite文件大小的百分比
auto-aof-rewrite-min-size 64mb --指定重写aof文件的条件,达到这个大小时才可以重写  auto-aof-rewrite-percentage  和 auto-aof-rewrite-min-size条件必须同时满足
aof-load-truncated yes // redis在启动时可以加载被截断的AOF文件,而不需要先执行 redis-check-aof
dir./   -- 文件所在的目录
-----------------------AOF end----------------------------------
-----------------------复制start----------------------------------
slaveof $(ip) $(port) // 设置为谁的slave,将从master复制数据
masterauth // 如果连接master 需要密码
slave-serve-stale-data yes //  在从master复制的过程中 slave是否继续接受客户端的请求。。。 当slave服务器和master服务器失去连接后,或者当数据正在复制传输的时候,如果此参数值设置“yes”,slave服务器可以继续接受客户端的请求,否则,会返回给请求的客户端如下信息“SYNC with master in progress”
slave-read-only yes //  slave是不是只读的
repl-diskless-sync no // 当客户端连接master的时候,同步的方式。  如果设置为yes(无盘复制),master起一个后台进程将rdb通过socket写入slave。 如果设置为no,master起一个后台线程将rdb文件写入硬盘,然后将硬盘里的rdb文件发给slave
repl-diskless-sync-delay 5 // 当使用无盘复制时,正在复制的时候,如果有新的slave到来了,排队,等待5s,让更多的slave一起开始下一次同步,设置为0的时候不等待
repl-ping-slave-period 10  //salve每个10s发送PING给master
repl-timeout 60 //复制超时时间
repl-disable-tcp-nodelay  no // 在master和slave之间是否限制高带宽
repl-backlog-size 1mb  // 当slave 失去连接之后,master会将命令缓存到backlog里,供slave重连的时候不需要全部同步数据,这个设置指定这个backlog的最大的大小。超出之后,slave重连时就不能不分同步了。
repl-backlog-ttl 3600 // 当master不再连接任何slave时,backlog就可以释放了,这个配置指定了当没有slave之后多长时间开始释放。
slave-priority 100 // slave 优先级, Sentinel会使用它作为master选举的因素。
-----------------------复制end-----------------------------------
---------------------- 安全start-----------------------------------
requirepass  // 密码
rename-command // 命令重命名, 在一个共享环境下可以重命名相对危险的命令。比如把 CONFIG 重名为一个不容易猜测的字符
-----------------------安全end------------------------------------
-----------------------约束start-----------------------------------
maxclients 10000  // 最大连接数
maxmemory <bytes>  // redis 最大会占用多少内存
maxmemory-policy noeviction  //  内存占用策略, 当内存不够时的内存移除策略
-----------------------约束end------------------------------------
-----------------------LUA 脚本start------------------------------
lua-time-limit 5000   // 脚本超时时间  毫秒
-----------------------LUA 脚本end-------------------------------
-----------------------集群start-----------------------------------
cluster-enabled yes   // 开启实例的集群能力
cluster-config-file nodes-6379.conf  // 集群模式下,每个redis节点生成一个自己的集群配置文件,这个文件不需要人工修改,由redis自己维护。
cluster-node-timeout 15000  // 集群模式时,当前节点在与其他节点保活探测时,多久没有响应时认为其他节点处于fail状态,上面是15秒。
cluster-slave-validity-factor <factor> // 如果将该项设置为0,不管slave节点和master节点间失联多久都会一直尝试failover(设为正数,失联大于一定时间(factor*节点TimeOut),不再进行FailOver)。比如,如果节点的timeout设置为5秒,该项设置为10,如果master跟slave之间失联超过50秒,slave不会去failover它的master(意思是不会去把master设置为挂起状态,并取代它)。注意:任意非0数值都有可能导致当master挂掉又没有slave去failover它,这样redis集群不可用。在这种情况下只有原来那个master重新回到集群中才能让集群恢复工作。
cluster-migration-barrier <count>: 一个master可以拥有的最小slave数量。该项的作用是,当一个master没有任何slave的时候,某些有富余slave的master节点,可以自动的分一个slave给它。
cluster-require-full-coverage <yes/no>: 如果该项设置为yes(默认就是yes) 当一定比例的键空间没有被覆盖到(就是某一部分的哈希槽没了,有可能是暂时挂了)集群就停止处理任何查询操作。如果该项设置为no,那么就算请求中只有一部分的键可以被查到,一样可以查询(但是有可能会查不全)
-----------------------集群end------------------------------------
-----------------------慢查询日志start----------------------------
slowlog-log-slower-than 10000  // 日志入口 微秒
slowlog-max-len 128  // 日志大小限制

-----------------------慢查询日志end-----------------------------

Redis -- 02 配置文件解析的更多相关文章

  1. mybatis源码分析之02配置文件解析

    该篇正式开始学习mybatis的源码,本篇主要学习mybatis是如何加载配置文件mybatis-config.xml的, 先从测试代码入手. public class V1Test { public ...

  2. redis配置文件解析

    Redis是一个简单高效的内存KV数据库,基本上下载源码make install,编译完成,然后进入src目录运行redis-server即可运行.就是因为这么简单往往有朋友直接运行,将没有密码的re ...

  3. Redis的配置文件redis.conf的解析

    1.redis的配置文件为redis.conf 2.redis配置文件redis.conf中关于网络的配置 3.redis配置文件redis.conf中的日志配置 4.redis配置文件redis.c ...

  4. Hibernate的配置文件解析

    配置mybatis.xml或hibernate.cfg.xml报错: <property name="connection.url">jdbc:mysql://loca ...

  5. Spring Boot干货系列:(二)配置文件解析

    Spring Boot干货系列:(二)配置文件解析 2017-02-28 嘟嘟MD 嘟爷java超神学堂   前言 上一篇介绍了Spring Boot的入门,知道了Spring Boot使用“习惯优于 ...

  6. golang开发:类库篇(四)配置文件解析器goconfig的使用

    为什么要使用goconfig解析配置文件 目前各语言框架对配置文件书写基本都差不多,基本都是首先配置一些基础变量,基本变量里面有环境的配置,然后通过环境变量去获取该环境下的变量.例如,生产环境跟测试环 ...

  7. Logtash 配置文件解析-转载

    转载地址:https://dongbo0737.github.io/2017/06/13/logstash-config/ Logtash 配置文件解析 logstash 一个ELK架构中,专门用来进 ...

  8. Redis源码解析(1)

    在文章的开头我们把所有服务端文件列出来,并且标示出其作用: adlist.c //双向链表 ae.c //事件驱动 ae_epoll.c //epoll接口, linux用 ae_kqueue.c / ...

  9. MyBatis配置文件解析

    MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...

随机推荐

  1. PKU 1006

    数学问题吧,有兴趣的可以研究一下“中国剩余定理” // 1006.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

  2. 探索软件工程道路上的我II (Θ∀Θ#)

    ------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...

  3. Linux 路线 推荐

    1.<Linux程序设计>- 靠它来入门,然后装一个linux体系,练习shell(party)和linuxC,把基础打牢: 2. <深入理解Linux内核>和<Linu ...

  4. 学习笔记:CSS3的filter属性

    CSS3的filter属性 (版权归原作者所有) http://www.jianshu.com/p/ca7a2bdcc1e7/comments/4956985 filter: blur(5px); f ...

  5. Xml 序列化

    1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序 ...

  6. Resharp注册码

    admin@youbaozang.comSpFEMUSrPM0AGupqlNs6J1Ey7HrjpJZy admin@wuleba.comd6GuozPm+bsCmPOtyJ2w1ggRnCr3Vk5 ...

  7. Magento代码之订单创建流程

    Magento代码之订单创建流程         直接看代码吧.下面的代码是如何通过程序创建一个完美订单.        <?php        require_once 'app/Mage. ...

  8. 微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书

    微信红包接口调试过程中一直提示“CA证书出错,请登陆微信支付商户平台下载证书”,经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开发的,这里需要三个p ...

  9. C++学习笔记25:makefile文件2

    Makefile文件语法 行解析:命令按行解析 命令行的行首字符为Tab键,其他行的行首字符不得为Tab键,但可以使用多个空格缩进 换行:命令太长时,行尾使用"\"换行 注释:行首 ...

  10. C++中的异常处理机制

    C++中的捕获异常机制catch参数中实参的类型不同,采取的处理方式则不相同,且与普通的函数调用还不一样,具体表现为当抛出异常throw A()或throw obj时,对象会进行一次额外的对象复制操作 ...