redis
文章平均质量分 69
enjoyinwind
这个作者很懒,什么都没留下…
展开
-
源码分析:redis的RDB持久化方式
rdb快照保存有两种方式,save和bgsave。相同点:都会调用rdbSave函数来进行快照保存。不同点:(1) SAVE 直接调用rdbSave ,阻塞Redis 主进程,直到保存完成为止。在主进程阻塞期间,服务器不能处理客户端的任何请求。(2)BGSAVE 则fork 出一个子进程,子进程负责调用rdbSave ,并在保存完成之后向主进程发送信号,通知保存已完成。因为rd原创 2013-11-17 18:02:09 · 3030 阅读 · 0 评论 -
源码分析:redis主从复制
redis的主从复制,主要过程如下:(1)从服务器的时间事件函数serverCron运行replicationCron函数来发起同步请求.redis.c文件中的serverCron函数里同步代码: /* Replication cron function -- used to reconnect to master and * to detect transfer failures原创 2013-11-17 21:12:44 · 2609 阅读 · 0 评论 -
redis源码分析:主从模式中从服务器同步策略
从服务器在与主服务器建立连接后向主服务器发送同步命令,要求进行同步。发送同步命令后,将相应的读操作设为readSyncBulkPayload。void syncWithMaster(aeEventLoop *el, int fd, void *privdata, int mask) { char tmpfile[256], *err; int dfd, maxtries =原创 2013-11-24 21:52:10 · 6798 阅读 · 0 评论 -
redis32位内存限制
这周,部署的redis服务器出现oom(out of memory)错误,导致所有的写操作都失败,影响了所有线上部署的使用redis的相关应用。经过分析,发现部署的32位redis实例能使用的最大内存只能为4G(实际使用不到4G),配置文件中配置的30G没有用。在前期没有调研充分以发现32位实例的这个限制,在实际使用中随着数据的迅速增长,最终引起了该问题。现把redis从32位实例升级到原创 2013-11-24 15:52:36 · 12944 阅读 · 2 评论