城市直播房产教育博客汽车
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

京东二面,Redis为什么这么快?

10月10日 九阙忬投稿
  本期是【大厂面试】系列文章的第6期,模拟Redis基础知识高频面试题目。面试开始
  面试官:今天聊聊Redis吧
  面试官:都说Redis速度快,那Redis为什么这么快呢?
  大彬:主要是因为以下几点原因:基于内存:Redis是使用内存存储,没有磁盘IO上的开销。数据存在内存中,读写速度快。单线程实现(Redis6。0以前):Redis使用单个线程处理请求,避免了多个线程之间线程切换和锁资源争用的开销。IO多路复用模型:Redis采用IO多路复用技术。Redis使用单线程来轮询描述符,将数据库的操作都转换成了事件,不在网络IO上浪费过多的时间。高效的数据结构:Redis每种数据类型底层都做了优化,目的就是为了追求更快的速度。
  面试官:嗯,刚说到Redis是单线程实现的,你认为Redis为何选择单线程呢?
  独白:emm,这得问问Redis作者了。。。
  大彬:1、单线程实现可以避免过多的上下文切换开销。程序始终运行在进程中单个线程内,没有多线程切换的场景。
  大彬:2、避免同步机制的开销:如果Redis选择多线程模型,需要考虑数据同步的问题,则必然会引入某些同步机制,会导致在操作数据过程中带来更多的开销,增加程序复杂度的同时还会降低性能。
  大彬:3、实现简单,方便维护:如果Redis使用多线程模式,那么所有的底层数据结构的设计都必须考虑线程安全问题,那么Redis的实现将会变得更加复杂。
  面试官:Redis应用场景有哪些?
  大彬:缓存热点数据,缓解数据库的压力。
  大彬:利用Redis原子性的自增操作,可以实现计数器的功能,比如统计用户点赞数、用户访问数等。
  大彬:作为简单的消息队列,实现异步操作。
  大彬:限速器,可用于限制某个用户访问某个接口的频率,比如秒杀场景用于防止用户快速点击带来不必要的压力。
  大彬:好友关系,利用集合的一些命令,比如交集、并集、差集等,实现共同好友、共同爱好之类的功能。
  面试官:哦,Redis怎么实现消息队列?
  独白:卧槽,给自己挖坑了。。。
  大彬:1、使用列表,让生产者将任务使用LPUSH命令放进列表,消费者不断用RPOP从列表取出任务。
  大彬:2、发布订阅模式。类似于MQ的主题模式。只能消费订阅之后发布的消息,一个消息可以被多个订阅者消费。
  大彬:3、延时队列。使用sortedset,拿时间戳作为score,消息内容作为key,调用zadd来生产消息,消费者用zrangebyscore指令获取N秒之前的数据轮询进行处理。
  面试官:来讲讲Redis主从复制的原理?
  大彬:嗯,Redis的复制功能是支持多个数据库之间的数据同步。主数据库可以进行读写操作,当主数据库的数据发生变化时会自动将数据同步到从数据库。从数据库一般是只读的,它会接收主数据库同步过来的数据。
  大彬:下面是主从复制的原理:当启动一个从节点时,它会发送一个PSYNC命令给主节点;如果是从节点初次连接到主节点,那么会触发一次全量复制。此时主节点会启动一个后台线程,开始生成一份RDB快照文件;同时还会将从客户端client新收到的所有写命令缓存在内存中。RDB文件生成完毕后,主节点会将RDB文件发送给从节点,从节点会先将RDB文件写入本地磁盘,然后再从本地磁盘加载到内存中;接着主节点会将内存中缓存的写命令发送到从节点,从节点同步这些数据;如果从节点跟主节点之间网络出现故障,连接断开了,会自动重连,连接之后主节点仅会将部分缺失的数据同步给从节点。
  面试官:不错,了解过期键的删除策略吗?
  大彬:1、被动删除。在访问key时,如果发现key已经过期,那么会将key删除。
  大彬:2、主动删除。定时清理key,每次清理会依次遍历所有DB,从db随机取出20个key,如果过期就删除,如果其中有5个key过期,那么就继续对这个db进行清理,否则开始清理下一个db。
  大彬:3、内存不够时清理。Redis有最大内存的限制,通过maxmemory参数可以设置最大内存,当使用的内存超过了设置的最大内存,就要进行内存释放,在进行内存释放的时候,会按照配置的淘汰策略清理内存。
  面试官:很好,今天就到这吧
搜索 投诉 评论 转载

音乐就要洒脱着听SA1508现正火热发售中音乐,如远山古堡般神秘,漫步其中,畅享无限魅力音乐,如春日晚风般清透,掀起思绪,遥忆悠悠岁月音乐随身,给生活加点乐飞利浦SA1508,采用综合性音……不要紧盯小米9,小米发布会上还有最强新品,售价仅为149元!小米9发布会我们把目光全部聚集在了小米9的身上,作为一款年度机型小米9受到关注是理所应当的,小米9无论是在颜值还是在性能上完全符合小米内部代号‘战斗天使’,雷军还坦言小米9是至……PHPPython文档加解密提升企业信息安全随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机、敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与……重启手机和关机再开机有何不同?很多人想错了移动支付、网上叫车、网上购物等等的新鲜产物如雨后春笋般涌现,智能手机的发明让我们的世界焕然一新。如今智能手机普及得非常快,已经成为大部分人必不可少的科技产品,现在的人们基本上每……监管反算计,让算法花头经无路可走陈庆贵3月17日,有主播在直播间发起某电商产品砍一刀换手机活动,号召粉丝一起参与,在直播间几万名观众的关注下,砍到了小数点后6位,耗时两个多小时未能砍价成功。据社交媒体说……京东二面,Redis为什么这么快?本期是【大厂面试】系列文章的第6期,模拟Redis基础知识高频面试题目。面试开始面试官:今天聊聊Redis吧面试官:都说Redis速度快,那Redis为什么这么快呢……再谈比亚迪周末仔细研究了下比亚迪,整体看利好多多:1新能源,目前油价高企为新能源车创造了千载难逢的机会;2国家鼎力扶持新能源汽车产业,很多城市例如广州燃油车汽车牌照问题很烦恼,新能源则极……手机飞行模式没人用,为啥不淘汰?其实是我们不会用如今人们对于手机的依赖性也是越来越强,再加上手机应用场景不断地扩大,使得我们手机中都会下载很多的APP,导致很多手机自带的功能,慢慢被手机生产商所舍弃,那么你们知道为啥手机中自……中国大部分人都玩微信,外国人玩什么?通过什么方式交流?中国大部分人都玩微信,外国人玩什么?从社交软件来看,国内可以说几乎是微信、微博的天下,在国外微信直接对标的是WhatsApp,而微博直接对标的是twitter。先说……工业互联网与智能制造是什么关系?可以从几个方面去区分两个概念,一是时间进程;二是玩家;三是内涵;四是边界。原创文刘成军,造奇智能新媒体创始人兼主编,工业互联网研习社发起人1、时间上,在国内,智能制……过度赋权却对有害内容视而不见,英网络安全法草案被要求重写【环球时报综合报道】为整饬网络乱象,英国政府于去年发布酝酿已久的《网络安全法》草案,声称要让英国变成上网最安全的国家。然而,英国议会近期有反对意见指出,这部草案一边为政府监管机……女员工被侵害马云离开后,阿里越来越脏了?如果被侵害的人,是你妹妹你有一个妹妹,从小和你一起长大。你们关系很好,你也很照顾她。小的时候,她被隔壁家的臭弟弟欺负,你知道后把那个小子揍了一顿。长大后,妹妹……
骆驼股份公司12V锂电辅助电池已经拿到多个厂商的定点Python3入门由site模块添加的常量自动驾驶商业化运营按下快进键江苏省发布省级新能源汽车充(换)电运营管理办法罗永浩,五十而知天命vivo全新X系列旗舰曝光7英寸2KE5屏全焦段四摄36氪首发机器人视觉服务商领湖智能完成数百万人民币天使轮融资素诺C3pro智能可视冲牙器测评体验,洁牙护牙,自信满满阿里淘宝特价版改名淘特阵前换名,不得已还是有点慌?华为鸿蒙系统可能妥协改名?多年铺垫难道为别人做了嫁衣?苹果StudioDisplay可在旧款Mac上启用HeySi跌价1200元,2K屏零广告系统IP68防水,骁龙888旗舰
诉讼时效一年的情况有哪些?漫画排行榜一拳超人排第一进击的巨人竟然垫底西游记读后感姚振华宝能碰到暂时性流动性困难处置资产已取得阶段性成效呐喊读后感全面完成就业创业重点目标任务工作计划如懿传强势来袭,槽点不断,延禧攻略完胜?书的种类分为几类书介绍【歌词】VisitingDay歌手:WidespreadPa 古代到底有没有轻功?轻功真的可以飞檐走壁吗?此皆骑战一敌万,缟素漠漠开风沙。意思翻译及赏析临潭县召开重点工作推进会

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找江西南阳嘉兴昆明铜陵滨州广东西昌常德梅州兰州阳江运城金华广西萍乡大理重庆诸暨泉州安庆南充武汉辽宁