本章重点回顾
-
Linux相关优化:
vm.overcommit_memory建议为1。
Linux>3.5,vm.swappiness建议为1,否则建议为0。
Transparent Huge Pages(THP)建议关闭掉,但需要注意Linux发行版本改变了THP的配置位置。
可以为Redis进程设置oom_adj,减少Redis被OOM killer杀掉的概率,但不要过度依赖此特性。
建议对Redis所有节点所在机器使用NTP服务。
设置合理的ulimit保证网络连接正常。
设置合理的tcp-backlog参数。
理解Redis的持久化有助于解决flush操作之后的数据快速恢复问题。
-
Redis安全建议
根据具体网络环境决定是否设置Redis密码。
rename-command可以伪装命令,但是要注意成本。
合理的防火墙是防止攻击的利器。
bind可以将Redis的访问绑定到指定网卡上。
定期备份数据应该作为习惯性操作。
可以适当错开Redis默认端口启动。
使用非root用户启动Redis。
bigkey的危害不容忽视:数据倾斜、超时阻塞、网络拥塞,可能是Redis生产环境中的一颗定时炸弹,删除bigkey是通常使用渐进式遍历的方式,防止出现Redis阻塞的情况。
通过客户端、代理、monitor、机器抓包四种方式找到热点key,这几种方式各具优势,具体使用哪种要根据当前场景来决定。