# 作为默认,redis会在RDB快照开启和最近后台保存失败的时候停止接受写入(最少一个# 保存点),这会使得用户察觉(通常比较困难)到数据不会保持在硬盘上的正确性,
# 否则很难发现这些灾难会发生,
# 如果后台保存程序再次开始工作,reidis会再次自动允许写入,
# 然而如果对redis服务器设置了合理持续的监控,那么你可以关闭掉这个选项。
# 这会导致redis将继续进行工作,无论硬盘,权限或者其他的是否有问题
stop-writes-on-bgsave-error yes
# 存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes
# 注:如果机器性能不佳,cpu使用率过高的情况,可以关闭该功能。缺点是RDB文件会# 比较大。
rdbcompression yes
# 从RDB的版本5开始,CRC64校验值会写入到文件的末尾
# 这会使得格式化过程中,使得文件的完整性更有保障,但是这会在保存和加载的时候损 失不少的性能(大概在10%)
# 你可以关闭这个功能来获得最高的性能
# RDB文件会在校验功能关闭的时候,使用0来作为校验值,这将告诉加载代码来跳过校 验步骤
rdbchecksum yes
# 本地持久化数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
# 工作目录
# 数据库镜像备份的文件放置的路径。
# 这里的路径跟文件名要分开配置是因为redis在进行备份时,先会将当前数据库的状态写# 入到一个临时文件中,等备份完成时,
# 再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放在这个指定的路径当中。
# AOF文件也会存放在这个目录下面
# 注意这里必须制定一个目录而不是文件
dir ./
##################### REPLICATION ########################
# 主从复制. 设置该数据库为其他数据库的从数据库.
# 设置当本机为slave服务时,设置master服务的IP地址及端口,在Redis启动时,它会# 自动从master进行数据同步
# 关于主从复制需要注意以下几点:
# 1)Redis的主从复制是异步的。但是你可以配置master在没有至少一个slave连接时,# 停止接受写入
# 2)当复制连接断掉不是很长时间时,Redis的slave可以执行局部再复制。需要配置backlog (积压区)size参数。
# 3)复制是自动的,无需用户干预。在统一网络分区中的Master和Slaves会自动重连并重启复制。
# slaveof <masterip> <masterport>
# 当master服务设置了密码保护时(用requirepass制定的密码)
# slave服务连接master的密码
# masterauth <master-password>
# 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式:
# 1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求
# 2) 如果slave-serve-stale-data是指为no,出去INFO和SLAVOF命令之外的任何请求都会返回一个
# 错误”SYNC with master in progress”
slave-serve-stale-data yes
# 配置一个Slave的实例是否接受写请求,
# Slave在存储一些短暂的数据的的时候,接收写请求是一件非常正确的事情
# (因为数据在向Master同步之后非常容易擦除)但是会因为配置不正确而导致一些问 题,从redis 2.6开始默认Slave是只读服务器
# 提示:只读的Slave并不是设计用来公开给不受信任的互联网客户端的,它
# 仅仅是一个用来防止对实例进行误操作的保护层。只读Slave默认用来输出管理命令
# 例如 CONFIG, DEBUG 和其他。如果你想限制它的规模,你可以使用'rename-command' # 来提高它的安全性,使它作为一个影子来执行管理或者危险的命令
slave-read-only yes
# Slave在预设的间隔中发送送一个ping到目标服务器。默认是10秒钟
# repl-ping-slave-period 10
# repl-timeout设置了以下的复制超时值:
# 1) 在Slave中,使用同步IO进行大规模传输
# 2) 在Slave中,Master的超时(ping,数据)
# 3) 在Master中. Slave的超时(对pings的响应)
# 注:应确���这个值大于指定的repl-ping-slave-period值,否则当主从之间流量较少时,会检测到超时的情况
# repl-timeout 60
# 在Slave同步之后是否关闭TCP_NODELAY?
# 如果你选择 "yes",redis将会使用一个很小的TCP包和很小的带宽来向Slave发送数据。
# 如果使用默认的设置这会增加数据复制到Slave之间的延迟。如果使用默认配置的linux内核这个延迟会高达到40毫秒
# 如果你选择 "no",数据复制到Slave将会减少延迟,但是会使用更多的带宽。
#作为默认我们为低延迟进行优化,但是在一个高流量的情况下或者当Master和Slave
#有很多hops的时候,将该值设置为yes会更好