游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

面试官Redis中的缓冲区了解吗

  hello大家好,我是七淅(x)。
  Redis大家肯定不陌生,但在使用层面看不到的地方,就容易被忽略。今天想和大家分享的内容是Redis各个缓冲区的作用、溢出的后果及优化方向。
  在开始正文前,想多叨叨几句。不管是Redis还是其他中间件,底层很多原理都是相似的,设计思想都是通用的。
  大家以后如果在学什么新框架组件,可以尽量和已经学过的知识点进行联想,这样会更容易理解点的,不至于说死记硬背。
  比如现在说到的缓冲区,它的目的是什么呢?
  无它,为了性能。
  要么缓存数据,提高响应速度。比如MySQL中有个changebuffer
  要么担心消费者速度跟不上生产,怕数据丢失。所以需要把生产数据先暂存起来。Redis的缓冲区就是这个作用。
  另外,消费者速度跟不上,如果是同步处理的话,那是不是也会拖慢生产者,所以这里其实也是在保证生产者的速度。
  可能有的读者会说:扯淡,消费者都跟不上了,生产者再快有什么用?
  其实有没有一种可能,生产者根本不关心消费者什么时候用呢?前者是负责把后者需要的东西处理好给它就完事了。生产者很忙,还有其他一大堆数据要处理,不能慢慢等消费者同步消费完才去做其他事情。
  好像开头扩展得有点多,我收一收,下面会详细说到。有疑问的小伙伴请上车,七淅正式发车了。1。各缓冲区
  首先Redis有什么缓冲区呢?
  一共4个:客户端输入缓冲区客户端输出缓冲区复制缓冲区复制积压缓冲区2。客户端输入缓冲区
  服务器端会给每个连接的客户端都设置了一个输入缓冲区。2。1作用
  暂存请求数据。
  输入缓冲区会先把客户端发送过来的命令暂存起来,Redis主线程再从输入缓冲区中读取命令,进行处理。
  为了避免客户端和服务器端的请求发送和处理速度不匹配,这点和等下要说的输出缓冲区是一样的。2。2溢出场景
  首先缓冲区是一块固定大小的内存区域,如果要把这个地方填满的话,那Redis会直接把客户端连接关闭。
  保护自己嘛,你客户端挂了总比我服务端挂了好,服务端一挂就是所有客户端都没用了。
  那填满缓冲区就有2个情况了:要么一下子填满要么生产速度大于消费速度,慢慢被填满
  那么把上述原理对应到Redis的场景。
  一下子填满的情况可以是往Redis里写大量数据,百万千万数量级那种。
  另一个情况可以是Redis服务端因执行耗时操作,阻塞住了,导致没法消费输入缓冲区数据。2。3优化
  对应上面2个溢出场景,优化方向很自然就有了。
  一下子填满的情况,是不是可以考虑不要一下子写这么多数据,能否拆下数据(其实一下子写大量数据本身就不合理哈)
  另外,是否可以调高缓冲区大小呢?
  这个其实是不行的哈,因为没有可以设置的地方,目前服务端默认为每个客户端输入缓冲区分配的大小是1GB。
  那轮到第2个溢出场景:两边处理速度不一致。
  正常来说,服务端不应该出现长时间阻塞,所以需要看看是什么原因导致的阻塞,解决到就好了。3。客户端输出缓冲区
  同输入缓冲区,服务器端也会给每个连接的客户端都设置了一个输出缓冲区。3。1作用
  同上,也是暂存请求数据。
  这个地方其实我在文章开头说的,生产者不关心消费者什么时候用,只负责把消费者之前请求的东西处理好就完事了。
  可能有点抽象,我是这么理解的,如果有不妥的地方可以留言纠正我一下
  服务端一般都会和多个客户端连接,加上redis网络通信模块是单线程的(即使是新版本支持多线程也一样)
  假如没有输出缓冲区会发生什么事呢?
  服务端处理了很多客户端A的请求,需要经过网络这一耗时操作,返回给客户端A。在这个过程中,客户端B的请求一直得不到服务端处理和响应,这样吞吐量就上不去了。
  有了缓冲区之后,至少能解放服务端,让它去处理客户端B的请求。3。2溢出场景
  这里也是同输入缓冲区,我就不啰嗦了,溢出的话服务端也会关闭客户端连接。服务器端返回了大量数据,一下子填满了返回数据的速度太快,比如执行MONITOR命令,它会持续输出监测到的各个命令操作缓冲区大小设置得不合理。3。3优化
  类似的,不要一下子读大量数据;不持续在线上执行MONITOR命令。
  而输出缓冲区的大小是可以通过clientoutputbufferlimit来设置的。
  但是一般来说,我们都不用改,因为默认情况就够了,这里了解下就好。
  值得说一点的是,Redis发布订阅的消息也是在该缓冲区中,可以用clientoutputbufferlimitpubsub8mb2mb60来限制大小。pubsub表示对订阅客户端进行设置。换成normal则表示当前设置的是普通客户端整个配置的含义是:实际占用的缓冲区大小要超过8MB,或者连续60秒内对输出缓冲区的写入量超过2MB的话,服务端就会关闭客户端连接。4。复制缓冲区
  温馨提示下,如果对Redis同步复制不了解的读者,比如不知道全量增量复制,建议可以看下我这篇文章:一文让你明白Redis主从同步。
  下面回到正题哈。
  有复制肯定有主从,而主从间的数据复制包括全量复制和增量复制两种。
  全量复制是同步所有数据,而增量复制只会把主从库网络断连期间主库收到的命令,同步给从库。4。1作用
  暂存数据。
  主节点上会为每个从节点都维护一个复制缓冲区。
  在全量复制时,主节点在向从节点传输RDB文件的同时,会继续接收客户端发送的写命令请求,并保存在复制缓冲区中,等RDB文件传输完成后,再发送给从节点去执行。4。2溢出场景
  从节点接收和加载RDB较慢,同时主节点接收到了大量的写命令,写命令在复制缓冲区中就会越积越多,最后就会溢出。
  一旦溢出,主节点会直接关闭和从节点进行复制操作的连接,导致全量复制失败4。3优化
  可以控制主节点数据量在24GB(仅供参考),这样可以让全量同步执行得更快些,避免复制缓冲区累积过多命令
  也可以调整缓冲区大小,还是之前的clientoutputbufferlimit参数。
  比如:configsetclientoutputbufferlimitslave512mb128mb60slave参数表明该配置项是针对复制缓冲区的。整个配置的含义是:实际占用的缓冲区大小要超过512MB,或者连续60秒内对输出缓冲区的写入量超过128MB的话,服务端就会关闭同步连接。5。复制积压缓冲区
  这个是在新增复制用到的缓冲区。
  具体介绍还是推荐看上面提到的文章哈,写到这里也2k字了,顶不住啦。5。1作用
  暂存数据。
  从节点意外断开连接后重连,可从该缓冲区同步期间没同步到的数据。5。2溢出场景
  不会溢出。(想不到吧。jpg)
  该缓冲区本质是一个固定长度,先进先出的队列,默认1MB。
  所以当队列被占满,不是报错,也不像上面几个缓冲区直接关闭连接。而是覆盖最早进入队列的数据。
  因此,如果有从节点还没有同步这些旧命令数据,就会导致主从节点重新进行全量复制,而不是增量复制。
  PS:全量复制性能开销远大于增量复制5。3优化
  调整复制积压缓冲区的大小,参数是:replbacklogsize
  原创不易,如果觉得文章不错,希望能关注下我

前沿生物亮相欧洲艾滋病大会,艾博韦泰简化方案受认可2021年10月27日,第18届欧洲艾滋病大会(EACS)在英国伦敦盛大召开。EACS大会由欧洲艾滋病临床协会组织召开,是欧洲规模最大的艾滋病会议,旨在汇集来自世界各地艾滋病领……新机对比!iPhone13系列升级幅度小,国产品牌诚意更足苹果在手机市场上一直是很高端的存在,在国内也有着众多果粉。但是从iPhone13系列开售到现在,很多人对于苹果表达了失望之情。今年iPhone13系列升级力度不尽人意,而且还有……手机颜值可以高到什么地步?除了远峰蓝,还有这款国产神仙配色9月份的旗舰新机真是百花齐放,除了行业巨头苹果带来的全新iPhone13系列机型以外,我们的国产手机厂商也在持续发力,如OPPO,就给我们带来了全新的OPPOFindX3Pro……这3款SUV虽然销量差,但是品质不输主流SUV不知道从什么时候开始,SUV跟MPV成为国内汽车市场上的香饽饽,今天就给大家盘点几款销量惨淡的SUV,但品质不输主流SUV!如果您想追求个性时尚,不妨考虑一下它们!雪佛兰……苹果最新概念机,配置超高,55W超闪充,网友是真的吗说到苹果,我想大家都很熟悉。印象最深刻的是iPhone5,不仅因为它在当时的高销量,更因为它代表了我们的青春。每当我看到这个手机,我都能想起我小时候的一些事情。每个人都是这样吗……石头科技年度旗舰扫拖机器人G10太狠了,这三大优势你知道吗?新时代年轻人大多数都适应了快节奏的生活方式,从公司忙碌一天下班,回家后只想躺在床上,扫地、拖地等家务活根本不想动手,所以智能扫地机器人应运而生,并且现如今已经发展成为了最普及的……ampampquot国产乔治巴顿ampampquot!坦克4在2021成都车展上,坦克品牌算的上倾巢而动,从紧凑型SUV坦克300到大型SUV坦克800,让我们见识到了这个年轻的越野品牌在产品研发上的实力,其中坦克400属于首次亮相,它……华为mate40,mate40Pro和P50Pro怎么选?其实我觉得还是得看你使用的时间了,如果你的手机使用周期比较长的话,那么我建议你买有5G的,如果你只是一两年就想换手机的话,那么就不用介意了,按照全面性选择就好。你说的这几……你的电脑是否需要升级?老电脑升级指南(台式机篇)电脑普及到千家万户已经有十几年的时间了,我们家里可能有一台或几台较老的电脑,有人觉得电脑卡了就应该再买一台,也有人认为可以凑合着用,而我就是第三类人,给老电脑升级,让老电脑重获……五菱星辰上市,能否成为五菱的希望之星?近日,大众期待已久的五菱星辰正式上市销售,共推出了五款车型,指导价为6。989。98万,价格非常亲民,延续了五菱经济实用的定位,是五菱进军紧凑型SUV领域的一把利刃,这款车究竟……智能投屏机母亲节在家送给妈妈一场私人影展HAPPYMOTHERSDAY感恩母亲节凯风自南,吹彼棘心。今天是母亲节,祝伟大的妈妈们,节日快乐!妈妈,您辛苦了马克李维的《偷……深度解析荣耀Magic3Pro和小米MIX4之间的差异性作为目前市面上仅有的骁龙888机型,荣耀Magic3Pro和小米MIX4之间的肯定很多人都会在想到底怎么去选择,希望大家看了以后能知道得更多一些。荣耀Magic3Pro……
十四五空调大变局TCL新风空调引领健康消费新趋势十四五规划提出,顺应消费升级趋势,促进消费向绿色、健康、安全发展。具体到空调行业,为顺应健康消费升级趋势,行业变化已在悄然发生。尤其新冠疫情发生以来,以健康为主线的新风空调迅速……iPhone13系列价格或与12保持一致苹果手机销量排行榜2据最新消息显示,苹果会在下个月发布iPhone13,而届时新机将首发5nm工艺,当然台积电是独家代工厂。最新的消息显示,iPhone13系列会与iPhone12系列保持一致(国……贝贝品呗丨富可敌国!苹果总市值3万亿美元三湘都市报全媒体记者刘品贝我是贝贝,今天有个消息有点惊人,一家公司总市值超过全球第五大经济体英国一年的GDP总额!这就是苹果。1月3日,苹果公司股价盘中大涨近3,总……全球90耳机产自中国,TWS耳机年出货量或超3亿副中国是耳机生产大国,全球约有90的耳机产自中国。数据显示,尽管新冠肺炎疫情对全球经济造成影响,但今年一季度,TWS,即真无线蓝牙耳机全球销量仍同比增长44。迪芬尼电声科技有限公……互联网电商平台是如何让更多人失业的我原来在一家线下零售公司的互联网平台工作。这个零售公司原来只做线下门店,有上千家门店,但近年受电商冲击很大,集团总部决定建立自营电商平台,夺回失去的销售份额。第一年,我进……手机外接摄像头的效果怎么样?当然好。买个微单还专业效果是有的,而且就算在某宝上随便买个几十块钱的外挂镜头拍照效果也是很不错的。但是这东西弊大于利,首先一个,手机拍照本来就是以便携为主,在……维密为何选择入驻京东?8月9日,维多利亚的秘密宣布入驻京东,同时维密京东官方旗舰店也正式开始营业,自此,又一国际品牌加入京东平台。维密为何选择入驻京东?受疫情影响,国外市场至今仍未完全恢……做美团的心情录大家好,我是一位美团小哥,今天我想在这里和大家聊聊我自己做美团小哥这四年来的点点滴滴和我自己的生活!我是2018年加入了美团的,在我以前的时候也经常听到跑外卖是多么多么得……京东物流,对抗傲慢的14年作者:lesy编辑:原野1hr刘强东在接受采访时曾说:如果京东需要烧十年的钱打造物流的话,其他任何公司都得需要十年,这个几乎是无法逾越的。京东物流的护城河是用……推动大数据与乡村振兴深度融合来源:经济日报作为曾经贫困程度最深的省份,贵州创造了反贫困事业的省级样板。走出绝对贫困并非终点,而是乡村振兴的基础和起点。近年来,随着大数据战略的深度实施,大数据已经成为推动贵……相对于IPFS为何Chia能得到如此青睐?chia没有门槛啊!谁都可以挖首先IPFS本质上属于分布式存储,类似CDN项目,区别在于数据来源和收益代币模式,其次Ipfs模型太复杂,环节套路太多,起点要求太高。包括中……最想不到的跨界?OPPO与农业正式牵手,绿植灌溉专利很黑科技在手机界,各大知名厂商积极进行的跨界活动成为了圈内的一道风景线。正如最近跨界到汽车领域的手机大厂OPPO,这个家喻户晓的手机品牌公开了一项全新专利,涉及绿植灌溉的技术内容引起了……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网