redis为什么内存不宜过大
2024-09-05 23:34:08
redis的高性能、稳定性都是不用怀疑的,但如果redis塞入数据过多,内存过大,那如果出问题,那它可能会给我们的就是灾难性的。
1 主库宕机
主库宕机,常见的策略为“切主”。具体为从该集群剩余从库中选出一个从库奖其升级为主库, 该从库升级为主库后再讲剩余从库挂载至其下成为其从库。
以上是一个完整的容灾过程,而代价最大的过程为从库的重新挂载,而非主库的切换。
2 扩容问题
一个20G的redis扩容一个从库需要将近20分钟,这个紧急时刻20分钟业务能够容忍吗?
为什么扩容还要业务呢?
3 网络不好导致从库从做最终引发雪崩
网络不好的情况下, 从库以为是断开连接,会自行从做主库,会导致从库雪崩。
4 内存越大,触发持久化的操作阻塞主线程的时间越长
Redis是单线程的内存数据库,在redis需要执行耗时的操作时,会fork一个新进程来做,比如bgsave,bgrewriteaof。 Fork新进程时,虽然可共享的数据内容不需要复制,但会复制之前进程空间的内存页表,这个复制是主线程来做的,会阻塞所有的读写操作,并且随着内存使用量越大耗时越长。
作者:不懒狮Blaise
链接:https://www.jianshu.com/p/ec7aa3f916c5
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
最新文章
- 转: GUI应用程序架构的十年变迁:MVC,MVP,MVVM,Unidirectional,Clean
- php.ini 安全配置
- Beta版本冲刺——day6
- C#实现按键精灵的'找图' '找色' '找字'的功能
- [daily][device] linux添加打印机
- Mac系统安装jdk和maven
- 解决服务器复制中SID冲突问题
- vs2010开发android的准备工作
- spring07 JDBC
- android之针对fragment多次调用onCreateView的问题
- 3.class文件基本结构
- RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)下安装及简单使用
- XHTML学习笔记
- CentOS ifconfig无IP地址解决办法
- 剑指offer第七天
- 原生js简单调用百度翻译API实现的翻译工具
- Ajax实现聊天室
- java_基础_异常
- Servlet 快速概览
- c 字符数组与字符串