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

网站开发常用中间件高端制造股十大龙头

网站开发常用中间件,高端制造股十大龙头,wordpress 首页翻页,网站地图制作Redis为什么读写性能高呢? Redis 的速度⾮常快,单机的 Redis 就可以⽀撑每秒十几万的并发,性能是 MySQL 的⼏⼗倍。原因主要有⼏点: ①、基于内存的数据存储,Redis 将数据存储在内存当中,使得数据的读写操…
Redis为什么读写性能高呢?

Redis 的速度⾮常快,单机的 Redis 就可以⽀撑每秒十几万的并发,性能是 MySQL 的⼏⼗倍。原因主要有⼏点:

①、基于内存的数据存储,Redis 将数据存储在内存当中,使得数据的读写操作避开了磁盘 I/O。而内存的访问速度远超硬盘,这是 Redis 读写速度快的根本原因。

②、单线程模型,Redis 使用单线程模型来处理客户端的请求,这意味着在任何时刻只有一个命令在执行。这样就避免了线程切换和锁竞争带来的消耗。

③、IO 多路复⽤,基于 Linux 的 select/epoll 机制。该机制允许内核中同时存在多个监听套接字和已连接套接字,内核会一直监听这些套接字上的连接请求或者数据请求,一旦有请求到达,就会交给 Redis 处理,就实现了所谓的 Redis 单个线程处理多个 IO 读写的请求。

三分恶面渣逆袭:Redis使用IO多路复用和自身事件模型三分恶面渣逆袭:Redis使用IO多路复用和自身事件模型

④、高效的数据结构,Redis 提供了多种高效的数据结构,如字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)等,这些数据结构经过了高度优化,能够支持快速的数据操作。

顺带再补充下I/O多路复用的知识

IO 多路复用是一种高效管理多个 IO 事件的技术,通过单线程监控多个文件描述符(fd),实现高并发的 IO 操作。

常见的 I/O 多路复用机制包括 select、poll 和 epoll 等。

特性selectpollepoll
文件描述符限制FD_SETSIZE 限制无限制无限制
时间复杂度O(n)O(n)O(1)
数据复制需要需要不需要
工作方式线性扫描线性扫描事件通知
内核支持所有 UNIX 系统所有 UNIX 系统Linux 2.6 及以上版本
适用场景少量连接中等连接大量并发连接

比如说你是一名数学老师,上课时提出了一个问题:“今天谁来证明一下勾股定律?”

同学小王举手,你就让小王回答;小李举手,你就让小李回答;小张举手,你就让小张回答。

这种模式就是 IO 多路复用,你只需要在讲台上等,谁举手谁回答,不需要一个一个去问。

有盐先生:IO 多路复用有盐先生:IO 多路复用

Redis 就是使用 epoll 这样的 I/O 多路复用机制,在单线程模型下实现高效的网络 I/O,从而支持高并发的请求处理。

举例子说一下 I/O 多路复用?

假设你是一个老师,让 30 个学生解答一道题目,然后检查学生做的是否正确,你有下面几个选择:

  • 第一种选择:按顺序逐个检查,先检查 A,然后是 B,之后是 C、D。。。这中间如果有一个学生卡住,全班都会被耽误。这种模式就好比,你用循环挨个处理 socket,根本不具有并发能力。
  • 第二种选择:你创建 30 个分身,每个分身检查一个学生的答案是否正确。 这种类似于为每一个用户创建一个进程或者线程处理连接。
  • 第三种选择,你站在讲台上等,谁解答完谁举手。这时 C、D 举手,表示他们解答问题完毕,你下去依次检查 C、D 的答案,然后继续回到讲台上等。此时 E、A 又举手,然后去处理 E 和 A。

第一种就是阻塞 IO 模型,第三种就是 I/O 复用模型。

图片来源于网络:多路复用模型图片来源于网络:多路复用模型

Linux 系统有三种方式实现 IO 多路复用:select、poll 和 epoll。

例如 epoll 方式是将用户 socket 对应的 fd 注册进 epoll,然后 epoll 帮你监听哪些 socket 上有消息到达,这样就避免了大量的无用操作。此时的 socket 应该采用非阻塞模式。

这样,整个过程只在进行 select、poll、epoll 这些调用的时候才会阻塞,收发客户消息是不会阻塞的,整个进程或者线程就被充分利用起来,这就是事件驱动,所谓的 reactor 模式。

select、poll 和 epoll 的实现原理?

select 使用位图管理 fd,每次调用都需要将 fd 集合从用户态复制到内核态。最大支持 1024 个文件描述符。

poll 使用动态数组管理 fd,突破了 select 的数量限制。

epoll 使用红黑树和链表管理 fd,每次调用只需要将 fd 集合从用户态复制到内核态一次,不需要重复复制。

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

相关文章:

  • 网站维护公告模板wordpress free cdn
  • 下载网站源代码宁波汽车网站建设
  • 网站做百度竞价引流费用多少钱小制作怎么做
  • 网站论坛推广文案怎么做人力资源网站模板
  • 中国建设银行行号查询网站wordpress手机上传图片插件
  • 在seo优化中网站内容优化技巧
  • 什么是电子商务网站建设的基本要求阿里云域名注册企业邮箱
  • 大网站前端怎么做的做天猫还是做网站推广
  • 创个网站怎么弄公众号做视频网站吗
  • 制作静态网站的工具有哪些影视网站模板怎么做
  • 有没有医学生做课件的网站做电影ppt模板下载网站
  • 自己怎么做免费网站网站制作经费预算表
  • 公司免费招聘网站做跨境电商的血泪教训
  • 电商网站建设实训要求a站是指哪个网站
  • c 网站开发案例网站备案 上一级服务商名称
  • 网站安全建设目的是wordpress建站流程
  • 网站的形式有哪些免费网络电话软件哪个好用
  • 网站高中建设工具怎么夸一个网站开发公司
  • 性做网站河北美丽乡村建设网站
  • 网站建设方案策划书ppt高端网站建设教学
  • 唐山快速建站的公司毕业设计是做网站设计
  • 北海 网站建设 公司国外做的好的医疗网站设计
  • 淄博团购网站建设查网站死链必用工具
  • 网站流量统计数据库设计培训机构seo
  • 网站上传后打不开谷歌sem服务商
  • 内蒙古两学一做网站网站开发报价范围
  • 网站备案很麻烦吗东莞品牌型网站建设价格
  • 学习网站建设的网站html5在网站建设中的
  • 石排镇专业建站公司使用php做的学校网站吗
  • 嘉定公司网站设计wordpress写简历