当前位置: 首页 > news >正文

网站建设需要了解哪些方面一条龙建站多少钱

网站建设需要了解哪些方面,一条龙建站多少钱,广州网站关键词排名,前端开发培训费用是多少RedisRedis为什么这么快基于内存单线程实现(Redis 6.0 以前)IO多路复用模型高效的数据结构Redis为何选择单线程Redis的应用场景Redis怎么实现消息队列Redis的主从复制原理主从复制的原理过期键的删除策略Redis为什么这么快 基于内存 Redis是使用内存存…

Redis

  • Redis为什么这么快
    • 基于内存
    • 单线程实现(Redis 6.0 以前)
    • IO多路复用模型
    • 高效的数据结构
  • Redis为何选择单线程
  • Redis的应用场景
  • Redis怎么实现消息队列
  • Redis的主从复制原理
    • 主从复制的原理
  • 过期键的删除策略

Redis为什么这么快

基于内存

Redis是使用内存存储,没有磁盘IO上的开销,数据存在内存上,读写速度快。

单线程实现(Redis 6.0 以前)

Redis使用单个线程处理请求,避免了多个线程之间线程切换和锁资源争用的开销。

IO多路复用模型

Redis采用IO多路复用技术。Redis使用单线程来轮询描述符,将数据库的操作都转换成了事件,不在网络I/O上浪费过多的时间。

高效的数据结构

Redis每种数据类型底层都做了优化,目的就是为了追求更快的速度。

Redis为何选择单线程

  1. 单线程实现可以避免过多的上下文切换开销。程序始终运行在进程中单个线程内,没有多线程切换的场景。

  2. 避免同步机制的开销。如果Redis选择多线程模型,需要考虑数据同步的问题,则必然会引入某些同步机制,会导致在操作数据过程中带来更多的开销,增加程序复杂度的同时还会降低性能。

  3. 实现简单,方便维护。如果Redis使用多线程模式,那么所有的底层数据结构的设计都必须考虑线程安全问题,那么Redis的实现将会变得更加复杂。

Redis的应用场景

  1. 缓存热点数据,缓解数据库的压力。
  2. 利用Redis原子性的自增操作,可以实现计数器的功能,比如统计用户点赞数、用户访问数等。
  3. 作为简单的消息队列,实现异步操作。
  4. 限速器,可用于限制某个用户访问某个接口的频率,比如秒杀场景用于防止用户快速点击带来不必要的压力。
  5. 好友关系,利用集合的一些命令,比如交集、并集、差集等,实现共同好友、共同爱好之类的功能。

Redis怎么实现消息队列

方式一:使用列表,让生产者将任务使用LPUSH命令放进列表,消费者不断用RPOP从列表取出任务。

方式二:发表订阅模式。类似于MQ的主题模式。只能消费订阅之后发布的消息,一个消息可以被多个订阅者消费。

方式三:延时队列。使用sortedest,拿时间戳作为score,消息内容作为key,调用zadd来生产消息,消费者用‘zrangebyscore’指令获取N秒之前的数据轮询进行处理。

Redis的主从复制原理

Redis的复制功能是支持多个数据库之间的数据同步。主数据库可以进行读写操作,当主数据库的数据发生变化时会自动将数据同步到从数据库。从数据库一般是只读的,它会接收主数据同步过来的数据。

主从复制的原理

  1. 当启动一个从节点时,它会发送一个‘PSYNC’命令给主节点。
  2. 如果是从节点初次连接到主节点,那么会触发一次全量复制。此时主节点会启动一个后台线程,开始生成一份RDB快照文件。
  3. 同时还会将从客户端client新收到的所有写命令缓存在内存中。RDB文件生成完毕后,主节点会将RDB文件发送给从节点,从节点会先将RDB文件写入本地磁盘,然后再从本地磁盘加载到内存中。
  4. 接着主节点会将内存中缓存的写命令发送到从节点,从节点同步这些数据。
  5. 如果从节点跟主节点之间网络出现故障,连接断开了,会自动重连,连接之后主节点仅会将部分缺失的数据同步给从节点。

过期键的删除策略

  1. 被动删除。在访问key时,如果发现key已经过期,那么会将key删除。
  2. 主动删除。定时清理key,每次清理会依次遍历所有DB,从db随机取出20个key,如果过期就删除,如果其中有5个key过期,那么就继续对这个db进行清理,否则开始清理下一个db。
  3. 内存不够时清理。Redis有最大内存的限制,通过maxmemory参数可以设置最大内存,当使用的内存超过了设置的最大内存,就要进行内存释放,在进行内存释放的时候,会按照配置的淘汰策略清理内存。

参考资料:【大厂面试】京东二面,Redis为什么这么快?

http://www.yayakq.cn/news/758272/

相关文章:

  • 全国高校校园网站联盟建设金色世纪做网站的是哪个岗位
  • 优化好的网站搭建网站一般多少钱
  • 天津住房和城乡建设建造师网站wordpress等模版比较
  • 在线网站创做简历广州高端网站建设定制
  • 旅游网站建设成都wordpress网站加入商城
  • 网站移动端是什么问题ps怎么做网站首页界面
  • 深圳网站建设软件开发公司做网站用什么源码
  • 上海网站建设 迈若小程序怎么开发
  • 北京中交建设工程咨询有限公司网站专注湛江地区网站开发定制建设
  • 网站设计的目的广州三合一网站建设
  • 域名怎么绑定网站网站添加文字大小
  • 做汉字的教育网站设计公司官方网站
  • 帝国cms 网站名称产品展示栏目在网站中的作用
  • 网站建设中gif小程序推广网站
  • 汽车网站建设开题报告网页设计报告论文
  • 网站建设内链建程网会员
  • 无锡网站制作价格有没有手机可以看的网站免费的
  • php玩具公司网站源码滕州市东方建设工程事务有限公司网站
  • wordpress feed源搜索引擎优化培训班
  • 网站建设在哪里找人做 理财网站
  • 婚庆公司网站建设总结wordpress m1主题
  • 网站整体风格设计京东这样的网站是怎么做的
  • 网站开发学什么语言好泉州网站建设网站
  • 泊头哪给做网站的好算命购物网站建设
  • 网站规划建设与管理维护大学论文网络营销策划方案框架
  • 理财网站方案建设WordPress百度收录内容
  • 地方网站系统外贸网站建设商家
  • i网站建设浙江网站建设实验心得
  • 公司官网的作用诊断网站seo现状
  • 网站后台登陆不上去建设旅游网站的总结