slave-read-only yes只读的从redis并不适合直接暴露给不可信的客户端 。为了尽量降低风险 , 可以使用rename-command指令来将一些可能有破坏力的命令重命名 , 避免外部直接调用 。比如:
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52从redis会周期性的向主redis发出PING包 。你可以通过repl_ping_slave_period指令来控制其周期 。默认是10秒 。
repl-ping-slave-period 10在主从同步时 , 可能在这些情况下会有超时发生:
1.以从redis的角度来看 , 当有大规模IO传输时 。
2.以从redis的角度来看 , 当数据传输或PING时 , 主redis超时
3.以主redis的角度来看 , 在回复从redis的PING时 , 从redis超时
用户可以设置上述超时的时限 , 不过要确保这个时限比repl-ping-slave-period的值要大 , 否则每次主redis都会认为从redis超时 。
repl-timeout 60我们可以控制在主从同步时是否禁用TCP_NODELAY 。如果开启TCP_NODELAY , 那么主redis会使用更少的TCP包和更少的带宽来向从redis传输数据 。但是这可能会增加一些同步的延迟 , 大概会达到40毫秒左右 。如果你关闭了TCP_NODELAY , 那么数据同步的延迟时间会降低 , 但是会消耗更多的带宽 。(如果你不了解TCP_NODELAY , 可以到这里来科普一下) 。
repl-disable-tcp-nodelay no我们还可以设置同步队列长度 。队列长度(backlog)是主redis中的一个缓冲区 , 在与从redis断开连接期间 , 主redis会用这个缓冲区来缓存应该发给从redis的数据 。这样的话 , 当从redis重新连接上之后 , 就不必重新全量同步数据 , 只需要同步这部分增量数据即可 。
repl-backlog-size 1mb如果主redis等了一段时间之后 , 还是无法连接到从redis , 那么缓冲队列中的数据将被清理掉 。我们可以设置主redis要等待的时间长度 。如果设置为0 , 则表示永远不清理 。默认是1个小时 。
repl-backlog-ttl 3600我们可以给众多的从redis设置优先级 , 在主redis持续工作不正常的情况 , 优先级高的从redis将会升级为主redis 。而编号越小 , 优先级越高 。比如一个主redis有三个从redis , 优先级编号分别为10、100、25 , 那么编号为10的从redis将会被首先选中升级为主redis 。当优先级被设置为0时 , 这个从redis将永远也不会被选中 。默认的优先级为100 。
slave-priority 100假如主redis发现有超过M个从redis的连接延时大于N秒 , 那么主redis就停止接受外来的写请求 。这是因为从redis一般会每秒钟都向主redis发出PING , 而主redis会记录每一个从redis最近一次发来PING的时间点 , 所以主redis能够了解每一个从redis的运行情况 。
min-slaves-to-write 3上面这个例子表示 , 假如有大于等于3个从redis的连接延迟大于10秒 , 那么主redis就不再接受外部的写请求 。上述两个配置中有一个被置为0 , 则这个特性将被关闭 。默认情况下min-slaves-to-write为0 , 而min-slaves-max-lag为10 。
min-slaves-max-lag 10
【教你看懂redis配置 – 安全】
我们可以要求redis客户端在向redis-server发送请求之前 , 先进行密码验证 。当你的redis-server处于一个不太可信的网络环境中时 , 相信你会用上这个功能 。由于redis性能非常高 , 所以每秒钟可以完成多达15万次的密码尝试 , 所以你最好设置一个足够复杂的密码 , 否则很容易被黑客破解 。
requirepass zhimakaimen这里我们通过requirepass将密码设置成“芝麻开门” 。
redis允许我们对redis指令进行更名 , 比如将一些比较危险的命令改个名字 , 避免被误执行 。比如可以把CONFIG命令改成一个很复杂的名字 , 这样可以避免外部的调用 , 同时还可以满足内部调用的需要:
rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c89我们甚至可以禁用掉CONFIG命令 , 那就是把CONFIG的名字改成一个空字符串:
推荐阅读
- 30 分钟包你学会 AWK
- 使用 SpringBoot Admin 监控你的 SpringBoot 程序
- 没有秘密的你免费资源 百度网盘密享功能有什么用
- ps笔刷不会用?教你设置好用的笔刷!
- 世界那么大,何必用百度?搜索引擎汇总,总有一款适合你
- 打开引擎盖全是油和灰,这应该怎么清洗?老司机:教你一些小妙招
- 买车被强制在4S店投保?别着急,教你一招出门就能退,他还没办法
- 日本的七大不可思议 日本人令人不能理解的行为
- 全球著名辣椒大赏!你认识几个?
- 教你在家就能做的蜜汁鸡翅,步骤简单,皮脆肉嫩,骨头都酥香入味
