您的位置:首页 > 数据库 > Redis

redis配置文件详解(一)

2016-02-03 10:22 489 查看
Redis配置文件被分成几大块区域,分别是:1.通用(general)2.快照(snapshotting)3.复制(replication)4.安全(security)5.限制(limits)6.追加模式(append only mode)7.LUA脚本(lua scripting)8.Redis集群(redis cluster)9.慢日志(slow log)10.延迟监控(latency monitor)11.事件通知(event notification)12.高级配置(advanced config)注: INCLUDES配置:当机器不只存在1个Redis实例时,可以实现每个Redis实例的"个性化"配置,此时,可以将这些实例的共有配置写到redis.conf中,而个性化的配置写到由include配置路径指定的文件中。1. 通用(general):
2. 快照(snapshotting)----主要涉及的是redis的RDB持久化相关的配置 save * *: 保存快照的频率,第一个*表示多长时间,第二个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照,可设置多个条件。如想禁用RDB持久化策略,不设置任何save指令即以,或设置[save ""]
3. 复制(replication)
############################### REPLICATION ########################## 通过slaveof配置项可控制某一个redis作为另一个redis的从服务器,通过指定IP和端口来定位到主redis的位置
如主redis设置验证密码(使用requirepass设置),则需在从redis的配置中使用masterauth来设置校验密码,否则主redis会拒绝从redis的访问请求
从redis失去与主redis的连接,或者主从同步正在进行时,redis对外部发来的访问请求的两种处理选择:选择1:设置为yes(默认),从redis仍会继续响应客户端的读写请求选择2:设置为no,从redis会对客户端的请求返回“SYNC with master in progress”(例外:当客户端发来INFO请求和SLAVEOF请求,从redis还是会进行处理)
复制同步策略:磁盘或者socket
新的从redis上线或主redis重新上线时应做数据全同步。需要将一个新的RDB文件dump出来,然后从主redis传到从redis。有两种情况:1. 基于硬盘(disk-backed):主redis创建一个新进程dump RDB,之后由父进程(即主进程)增量传给从redis2. 基于socket(diskless):主redis创建一个新进程直接dump RDB到从redis的socket,不经过主进程,不经过硬盘 如基于硬盘,RDB文件创建后,一旦创建完毕,可以同时服务更多从redis;如基于socket,新的从redis加入后,需进行排队(如超出repl-diskless-sync-delay设定时时);当用diskless时,主redis等待repl-diskless-sync-delay设定的秒数后,如无新的从redis加入,就直接传,后来的需排队等待。(默认用disk-based)
在主从同步时,可能在这些情况下会有超时发生:
1. 以从redis的角度来看,当有大规模IO传输时。2. 以从redis的角度来看,当数据传输或PING时,主redis超时3. 以主redis的角度来看,在回复从redis的PING时,从redis超时 用户可以设置上述超时的时限,不过要确保这个时限比repl-ping-slave-period的值要大,否则每次主redis都会认为从redis超时。
设置主从同步时是否禁用TCP_NODELAY。如开启TCP_NODELAY,主redis会使用更少的TCP包和更少的带宽来向从redis传输数据,但可能会增加同步延迟(40ms)。如关闭TCP_NODELAY,那数据同步的延迟时间会降低,但会消耗更多的带宽
设置同步队列长度。队列长度(backlog)是主redis中的一个缓冲区,在与从redis断开连接期间,主redis会用这个缓冲区来缓存应该发给从redis的数据。这样,当从redis重新连接上后,就不必重新全量同步数据,只需要同步这部分增量数据即可
设置主redis清理缓冲队列等待的时间长度(设置为0表示永不清理,默认为1个小时)
如主redis发现有超过M个从redis的连接延时大于N秒,那么主redis就停止接受外来的写请求
假如有大于等于3个从redis的连接延迟大于10秒,那么主redis就不再接受外部的写请求。上述两个配置中有一个被置为0,则这个特性将被关闭
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: