Java高频面试题日更挑战「Day17」

为什么数据量小的时候用压缩列表 ?

为了省内存。

Redis 主从同步是怎么实现的?

全量同步

master 服务器会开启一个后台进程用于将 redis 中的数据生成一个 rdb 文件,与此同时,

服务器会缓存所有接收到的来自客户端的写命令(包含增、删、改),当后台保存进程处理完

毕后,会将该 rdb 文件传递给 slave 服务器,而 slave 服务器会将 rdb 文件保存在磁盘并

通过读取该文件将数据加载到内存,在此之后 master 服务器会将在此期间缓存的

命令通过 redis 传输协议发送给 slave 服务器,然后 slave 服务器将这些命令依次作用于

自己本地的数据集上最终达到数据的一致性。

增量同步

从 redis 2.8 版本以前,并不支持部分同步,当主从服务器之间的连接断掉之后,master 服

务器和 slave 服务器之间都是进行全量数据同步。

从 redis 2.8 开始,即使主从连接中途断掉,也不需要进行全量同步,因为从这个版本开始

融入了部分同步的概念。部分同步的实现依赖于在 master 服务器内存中给每个 slave 服务

器维护了一份同步日志和同步标识,每个 slave 服务器在跟 master 服务器进行同步时都会

携带自己的同步标识和上次同步的最后位置。当主从连接断掉之后,slave 服务器隔断时间

(默认 1s)主动尝试和 master 服务器进行连接,如果从服务器携带的偏移量标识还在

master 服务器上的同步备份日志中,那么就从 slave 发送的偏移量开始继续上次的同步操

作,如果 slave 发送的偏移量已经不再 master 的同步备份日志中(可能由于主从之间断掉

的时间比较长或者在断掉的短暂时间内 master 服务器接收到大量的写操作),则必须进行

一次全量更新。在部分同步过程中,master 会将本地记录的同步备份日志中记录的指令依次

发送给 slave 服务器从而达到数据一致。

Redis 主从同步策略

主从刚刚连接的时候,进行全量同步;全同步结束后,进行增量同步。当然,如果有需要,

slave 在任何时候都可以发起全量同步。redis 策略是,无论如何,首先会尝试进行增量同步,

如不成功,要求从机进行全量同步。

Redis 持久化 RDB 和 AOF 优缺点

RDBRDB 持久化方式,是将 Redis 某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法。

RDB 优点:

 RDB 是一个非常紧凑(有压缩)的文件,它保存了某个时间点的数据,非常适用于数据的备份。

 RDB 作为一个非常紧凑(有压缩)的文件,可以很方便传送到另一个远端数据中心 ,非常适用于灾难恢复。

 RDB 在保存 RDB 文件时父进程唯一需要做的就是 fork 出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其他 IO 操作,所以 RDB 持久化方式可以最大化redis 的性能。

 与 AOF 相比,在恢复大的数据集的时候,RDB 方式会更快一些。

RDB 缺点:

 Redis 意外宕机时,会丢失部分数据。

 当 Redis 数据量比较大时,fork 的过程是非常耗时的,fork 子进程时是会阻塞的,在这

期间 Redis 是不能响应客户端的请求的。

AOF

AOF 方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行

一遍。

AOF 优点:

 使用 AOF 会让你的 Redis 更加持久化。

 AOF 文件是一个只进行追加的日志文件,不需要在写入时读取文件。

 Redis 可以在 AOF 文件体积变得过大时,自动地在后台对 AOF 进行重写 。

 AOF 文件可读性高,分析容易。

AOF 缺点:

 对于相同的数据来说,AOF 文件大小通常要大于 RDB 文件。

 根据所使用的 fsync 策略,AOF 的速度可能会慢于 RDB。

学习之路贵在坚持,关注我!

浩说编程陪你每天三道高频面试题,日积月累一定会有所收获!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容