Redis暗中同意是不作为守护进度来运维的,断线之后slave自动重连master

断线之后slave自动重连master,Redis会把进程ID写到 /var/run/redis.pid

主从复制使用slaveof将Redis实例作为另五个Redis服务器的副本。

#redis配置文件详解,针对2.6.3–2.6.7

1)
Redis复制是异步的,master能够配备成固然它总是的slave没有直达给定的数目,就结束接受写入。
2)
若是断线较少的年华,slave能够进行部分增量复制。要求布署合理的复制积压缓冲区大小来尽量使用增量复制。
3) 复制是活动的,断线之后slave自动重连master。

# Note on units: when memory size is needed, it is possible to
specify
# it in the usual form of 1k 5GB 4M and so forth:
#
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# units are case insensitive so 1GB 1Gb 1gB are all the same.

slave配置:
slaveof <masterip> <masterport>

#
Redis暗中认可是不作为守护进程来运行的。你能够把这几个设置为”yes”让它当作医生和医护人员进度来运作。
# 注意,当作为医护进度的时候,Redis会把过程ID写到 /var/run/redis.pid
daemonize yes

master可以安装密码:
masterauth <master-password>

# 当以守护进度情势运维的时候,Redis会把经过ID暗中认可写到
/var/run/redis.pid。你能够在此处修改路径。
pidfile /var/run/redis.pid

当slave失去与master的连接,或许正在复制时:
1)
假若slave-serve-stale-data棉被服装置为’yes’(默许),则slave将会依旧回复客户端的央求,或者是不合时宜的数量,也许数据集或者只是空的,倘诺那是率先次联合。
2)
假如slave-serve-stale-data设置为’no’,则slave将上涨”正在同步”的一无所长,除了INFO和SLAVEOF命令。
slave-serve-stale-data yes

# 接受连接的特定端口,私下认可是6379。
# 假诺端口设置为0,Redis就不会监听TCP套接字
port 6379

slave能够配备为可写,那对于仓库储存一些短距离赛跑数据很有用,为什么是短暂?因为与master同步后,数据会被删去,所以不建议如此做。Redis
2.6来说slave暗许是只读的。
留神:slave只读不意味能够任由揭露,因为它能够推行config、debug等揭破服务器消息的授命,当然你能够对这一个命令实行重命名,但诸如此类做总是不中国太平洋保证公司险
slave-read-only yes

# 就算端口设置为0,Redis就不会监听TCP套接字
port 6379

异步复制策略:磁盘复制和无盘复制

#
假如你想的话,你能够绑定单一接口;假如那里没单独设置,那么具有接口的几次三番都会被监听。
#
# bind 127.0.0.1

瞩目:无盘复制近年来地处试验阶段

slave第3遍一而再大概另行连接master的时候,不能兑现增量复制,而是全量复制,master会发送rdb给slave,有以下三种格局:
1)
磁盘复制:master创制一个子经过将rdb文件写入磁盘,然后由父进度传输给slave
2) 无盘复制:master不写磁盘,而是创设一个子历程一向通过socket发送rdb文件

采纳磁盘复制,当执行bgsave生成好了rdb文件但还没初阶发送的时候,其余排队等候的slave也能够获得这么些rdb文件而无需等待重新生成
如即使无盘备份,一旦传输开端,别的slave排队等候传输截至
应用无盘复制时,可配置多长期(秒)有个别许slave才开端传输,当磁盘比较慢而互联网带宽相比大的时候,无盘复制是个正确的取舍
repl-diskless-sync no

万一打开无盘复制,可以配备合理的延时来等待别的slave,因为借使起先传输,前边回复的复制请求就要排队等待,暗中同意5秒,设置为0则不等待
repl-diskless-sync-delay 5

slave会每隔repl-ping-slave-period(默许10秒)ping叁遍master,若是超越repl-timeout(默许60秒)都未曾接收响应,就会觉得master挂了
repl-ping-slave-period 10
repl-timeout 60

咱俩得以操纵在着力同步时是不是禁止使用TCP_NODELAY。假使是yes,那么master会使用更少的TCP包和更少的带宽来向slave传输数据。
可是那大概会大增一些联袂的推移,大约会高达40纳秒左右。若是是no,那么数量同步的延迟时间会下滑,可是会开支更加多的带宽。
repl-disable-tcp-nodelay no

缓冲积压队列,redis会把多年来的指令放到队列里,供slave进行增量复制,设置得越大越有空子实现增量复制而非全量复制
repl-backlog-size 1mb

当先多久没有slave请求复制,缓冲积压队列将被假释
repl-backlog-ttl 3600

当master挂了,Redis
Sentinel通过slave-priority来决定哪些slave接管成为master,最小的最优先,0代表永远不接管
slave-priority 100

铺排master在M秒内有N个slave连接才可写,能够把当中一个值设置成0来关闭此效用,比如说10秒内有3台slave连接master才可写
min-slaves-to-write 3
min-slaves-max-lag 10

master通过info获取slave的ip地址和端口,当使用了端口转载或NAT的时候,需求配置IP地址映射
slave-announce-ip 5.5.5.5
slave-announce-port 1234

#
钦赐用来监听连接的unxi套接字的路径。这么些从未暗中同意值,所以一旦你不点名的话,Redis就不会因此unix套接字
# unixsocket /tmp/redis.sock
# unixsocketperm 755

#一个客户端空闲多少秒后关闭连接。(0代表禁止使用,永不关门)
timeout 0

# 设置服务器调节和测试阶段。
# debug (很多消息,对开发/测试有用)
# verbose (很多简练的有用音讯,不过不像debug等级那么多)
# notice (适量的新闻,基本上是你生产环境中供给的品位)

# warning (只有很重点/严重的音讯会记录下来)

loglevel notice

#
指前几天志文件名。也得以选用”stdout”来强制让Redis把日志消息写到标准输出上。
#
注意:假若Redis以守护进度方式运行,而你设置日志突显到专业输出的话,那么日志会发送到
/dev/null
logfile stdout
# 要利用系统日志记录器很简短,只要设置 “syslog-enabled” 为 “yes”
就可以了。
# 然后依照须要设置任何一些syslog参数就足以了。
# syslog-enabled no

# 指明syslog身份
# syslog-ident redis

# 指明syslog的装备。必须是3个用户照旧是 LOCAL0 ~ LOCAL7 之一。
# syslog-facility local0

#设置数据库个数。私下认可数据库是 DB 0,你能够透过SELECT <dbid> WHER艾德bid(0~’databases’ – 1)来为每一种链接选用服务器
databases 16

################################ 快照
########################
                                                             
# 把多少库存到磁盘上:                                                 
                                                   
#  save <seconds> <changes>                               
 
#                                                             
#  会在钦命秒数和数码变化次数之后把数据库写到磁盘上。       
#                                                             
#  上边包车型大巴例证将会举办把数据写入磁盘的操作:                   
#  900秒(15分钟)之后,且至少1次变更                       
#  300秒(5分钟)之后,且至少10次变更                       
#  60秒之后,且至少10000次变更                               
#                                                             
#  注意:你要想不写磁盘的话就把具备 “save” 设置注释掉就行了。

#save 900 1
save 300 30
#save 60 10000

#后台存款和储蓄错误结束写。
stop-writes-on-bgsave-error yes

# 当导出到 .rdb 数据库时是或不是用LZF压缩字符串对象。 
# 暗中同意设置为 “yes”,所以大概总是生效的。                               
                         
# 倘诺你想节约CPU的话你能够把那么些设置为
“no”,可是假如你有可削减的key的话,那数据文件就会更大了。
rdbcompression yes

# Since verison 5 of RDB a CRC64 checksum is placed at the end of the
file.
# This makes the format more resistant to corruption but there is a
performance
# hit to pay (around 10%) when saving and loading RDB files, so you can
disable it
# for maximum performances.
#
#存款和储蓄和加载rdb文件时校验。
rdbchecksum yes

# 数据库的文书名
dbfilename dump.rdb

#  工作目录
# 数据库会写到那么些目录下,文件名正是上边的 “dbfilename” 的值。
# 累Gavin件也放那里。
# 注意你那边钦赐的总得是目录,不是文件名。
dir ./

################################# 同步
#################################
#
# 主从一头。通过 slaveof 配置来实现Redis实例的备份。
#
注意,那里是地点从远端复制数据。也正是说,本地能够有不一致的数据库文件、绑定分化的IP、监听不一致的端口。
#
# slaveof <masterip> <masterport>
 
# 假若master设置了密码(通过上面包车型地铁 “requirepass”
选项来布局),那么slave在起来联合此前必须进行身份验证,不然它的一块请求会被驳回。
#
# masterauth <master-password>
 
#
当二个slave失去和master的连年,大概联合正在进展中,slave的表现有三种恐怕:
#
# 1) 假诺 slave-serve-stale-data 设置为 “yes”
(暗中同意值),slave会继续响应客户端请求,恐怕是正规数据,也只怕是还没获得值的空数据。
# 2) 假诺 slave-serve-stale-data 设置为
“no”,slave会回复”正在从master同步(SYNC with master in
progress)”来处理各类请求,除了 INFO 和 SLAVEOF 命令。

slave-serve-stale-data yes

 #假定为yes,slave实例只读,假使为no,slave实例可读可写。
slave-read-only yes

# slave根据钦命的光阴距离向服务器发送ping请求。
# 时间间隔能够通过 repl_ping_slave_period 来设置。
# 默认10秒。
#
# repl-ping-slave-period 10
 
# 下边的选项设置了大块数据I/O、向master请求数据和ping响应的超时时间。
# 默认值60秒。
#
# 三个很关键的政工是:确定保障那个值比 repl-ping-slave-period
大,不然master和slave之间的传导过期时间比预料的要短。
# repl-timeout 60

 #假若master无法再符合规律办事,那么会在七个slave中,选用优先值最小的贰个slave升高为master,优先值为0象征不能够升官为master。
slave-priority 100

Redis
的详尽介绍
请点那里
Redis
的下载地址
请点那里

推介阅读:

Redis集群明细文书档案
http://www.linuxidc.com/Linux/2013-09/90118.htm

Ubuntu
12.10下安装Redis(图像和文字详解)+ Jedis连接Redis
http://www.linuxidc.com/Linux/2013-06/85816.htm

Redis种类-安装配备维护篇
http://www.linuxidc.com/Linux/2012-12/75627.htm

CentOS 6.3安装Redis
http://www.linuxidc.com/Linux/2012-12/75314.htm

Redis配置文件redis.conf 详解
http://www.linuxidc.com/Linux/2013-11/92524.htm

图片 1