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-----------------------------
- mybatis源码分析之02配置文件解析
该篇正式开始学习mybatis的源码,本篇主要学习mybatis是如何加载配置文件mybatis-config.xml的, 先从测试代码入手. public class V1Test { public ...
- redis配置文件解析
Redis是一个简单高效的内存KV数据库,基本上下载源码make install,编译完成,然后进入src目录运行redis-server即可运行.就是因为这么简单往往有朋友直接运行,将没有密码的re ...
- Redis的配置文件redis.conf的解析
1.redis的配置文件为redis.conf 2.redis配置文件redis.conf中关于网络的配置 3.redis配置文件redis.conf中的日志配置 4.redis配置文件redis.c ...
- Hibernate的配置文件解析
配置mybatis.xml或hibernate.cfg.xml报错: <property name="connection.url">jdbc:mysql://loca ...
- Spring Boot干货系列:(二)配置文件解析
Spring Boot干货系列:(二)配置文件解析 2017-02-28 嘟嘟MD 嘟爷java超神学堂 前言 上一篇介绍了Spring Boot的入门,知道了Spring Boot使用“习惯优于 ...
- golang开发:类库篇(四)配置文件解析器goconfig的使用
为什么要使用goconfig解析配置文件 目前各语言框架对配置文件书写基本都差不多,基本都是首先配置一些基础变量,基本变量里面有环境的配置,然后通过环境变量去获取该环境下的变量.例如,生产环境跟测试环 ...
- Logtash 配置文件解析-转载
转载地址:https://dongbo0737.github.io/2017/06/13/logstash-config/ Logtash 配置文件解析 logstash 一个ELK架构中,专门用来进 ...
- Redis源码解析(1)
在文章的开头我们把所有服务端文件列出来,并且标示出其作用: adlist.c //双向链表 ae.c //事件驱动 ae_epoll.c //epoll接口, linux用 ae_kqueue.c / ...
- MyBatis配置文件解析
MyBatis配置文件解析(概要) 1.configuration:根元素 1.1 properties:定义配置外在化 1.2 settings:一些全局性的配置 1.3 typeAliases:为 ...
随机推荐
- Linux下swoole的安装配置
前几天搭建swoole环境,在安装php的swoole扩展时不知道什么原因,提示成功,但是使用的时候不能加载,最后决定重新安装php试试,顺便记录了php的安装过程 wget http://cn2.p ...
- System.arrayCopy()和普通数组复制之间的效率差别
都是System.arrayCopy() 效率高,到底有多高呢,拉出来遛遛就知道了: package JCF.ArrayList; import java.util.Date; public clas ...
- 什么是web service
一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...
- navicat在ubuntu下中文乱码的真正解决方法ZT
乱码解决方法(自己解决我自己这种情况之后打猜测): 打开start_navicat文件,会看到 export LANG="en_US.UTF-8" 将这句话改为 export LA ...
- 后缀名“.dll .obj .lib”和“ .so .o .a”文件的区别含义
(1) .dll .obj .lib使用在windows平台下. .dll:动态链接库,作为共享函数库的可执行文件. .obj:目标文件,相当于源代码对应的二进制文件,未经 ...
- 将DataTable 导出为csv
//测试用的 导出查询的DataTable public static void Export(DataTable dtResult) { string strHeader =null; string ...
- A Five-Minute Guide to Ph.D. Program Applications
http://pgbovine.net/PhD-application-tips.htm
- 【转】JavaScript 风格指南/编码规范(Airbnb公司版)
原文转自:http://blog.jobbole.com/79484/ Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript 风格指南/编码规范,在 Github 上有 11 ...
- dsfgsdfg
两融余额止跌回升,金融股回落飘绿,千股涨停续演,沪指收复4000点未果涨逾2% 相关报道 [今日收盘]灾后重建激情抢筹 大盘两日反弹500点 [今日收盘]沪指涨近6%重回3700点 未停牌个股九成涨停 ...
- 数据存储之Cookie和Web Storage。
Cookie Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密).接下来就谈谈cookie的一些利弊,coo ...