摘要: 做内存快照就需要考虑两个问题 1. 给哪部分数据做快照? 对全量内存数据做快照,做快照可以使用后台线程执行快照 2. 在快照期间能否有新的数据操作? 当然可以了,如果在rdb期间不能操作数据那是致命性的, redis使用操作系统提供的写时复制技术,主线程fork子线程,主线程会复制主线程的页表如果主 阅读全文
posted @ 2021-03-17 17:34 rudynan 阅读(303) 评论(0) 推荐(0)
摘要: AOF 记录日志是在处理完请求时,好处是记录的都是成功的请求,不会阻塞写操作 但是会阻塞后续的操作,因为这一步也是主线程执行的 写入磁盘是影响性能的,redis给我们提供了三种同步时机 1. always 2. everysec 4. no 先写入aof文件的内存缓冲区 由系统决定何时存入磁盘 当a 阅读全文
posted @ 2021-03-17 11:44 rudynan 阅读(508) 评论(0) 推荐(0)
摘要: redis的单线程是针对网络io与键值的操作来说的,其他的比如持久化异步删除等是其他线程负责的 那么redis为什么使用单线程? 因为多线程程序面临的共享资源的并发控制问题,如果只是简单的加个互斥锁就会让这部分程序成为瓶颈,并且会导致系统降低易用性 为什么redis使用单线程还这么快? 1. 大部分 阅读全文
posted @ 2021-03-17 10:43 rudynan 阅读(87) 评论(0) 推荐(0)