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

免费制作网站平台有哪些网站备案审批号

免费制作网站平台有哪些,网站备案审批号,定制高端网站建设企业,免费模板下载word目录 1、redis的发展史 2、redis为什么选择单线程#xff1f; 3、主线程和Io线程是怎么协作完成请求处理的#xff1f; 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程#xff0c;4.0以后逐渐支持多线程 Redis4.0之前一直采用单线程的主…目录 1、redis的发展史 2、redis为什么选择单线程 3、主线程和Io线程是怎么协作完成请求处理的 4、IO多路复用 5、开启redis多线程 1、redis的发展史 Redis4.0之前是用的单线程4.0以后逐渐支持多线程  Redis4.0之前一直采用单线程的主要原因有以下三个: 1、使用单线程模型使Redis的开发和维护更简单因为单线程模型方便开发和调试; 2、即使使用单线程模型也并发的处理多客户端的请求主要使用的是IO多路复用和非阻塞IO; 3、对于Redis系统来说主要的性能瓶颈是内存或者网络带宽而并非 CPU。 2、redis为什么选择单线程 Redis是单线程主要是指Redis的网络IO和键值对读写是由一个线程来完成的Redis在处理客户端的请求时包括获取(socket读)、解析、执行、内容返回(socket写)等都由一个顺序串行的主线程处理这就是所谓的“单线程”。这也是Redis对外提供键值存储服务的主要流程。 但是Redis的其他功能比如持久化RDB、AOF、异步删除、集群数据同步等等其实是由额外的线程执行的。Redis命令工作线程是单线程的但对整个Redis来说是多线程的。 redis使用单线程的缺点  正常情况下使用del指令可以很快的删除数据而当被删除的 key是一个非常大的对象时例如时 包含了成千上万个元素的 hash集合时那么del指令就会造成Redis主线程卡顿。 解决方案从Redis4开始使用惰性删除可以有效的避免 Redis卡顿的问题 unlink key flushdb async flushall async 这三个命令把删除工作交给了后台的小弟子线程异步来删除数据了。 Redis6/7采用多个IO线程来处理网络请求提高网络请求处理的并行度。 但是Redis的多IO线程只是用来处理网络请求的对于读写操作命令Redis仍然使用单线程来处理。这是因为Redis处理请求时网络处理经常是瓶颈通过多个IO线程并行处理网络操作可以提升实例的整体处理性能。而继续使用单线程执行命令操作就不用为了保证Lua脚本、事务的原子性额外开发多线程互斥加锁机制了(不管加锁操作处理)这样一来Redis线程模型实现就简单了。 3、主线程和Io线程是怎么协作完成请求处理的 阶段一服务端和客户端建立Socket连接并分配处理线程。 首先主线程负责接收建立连接请求。当有客户端请求和实例建立Socket连接时主线程会创建和客户端的连接并把Socket放入全局等待队列中。紧接着主线程通过轮询方法把Socket连接分配给lO线程。 阶段二I0线程读取并解析请求。 主线程一旦把Socket分配给I0线程就会进入阻塞状态等待I0线程完成客户端请求读取和解析。因为有多个IO线程在并行处理所以这个过程很快就可以完成。 阶段三主线程执行请求操作。 等到IO线程解析完请求主线程还是会以单线程的方式执行这些命令操作。 阶段四IO线程回写Socket和主线程清空全局队列。 当主线程执行完请求操作后会把需要返回的结果写入缓冲区然后主线程会阻塞等待I0线程把这些结果回写到Socket中并返回给客户端。和IO线程读取和解析请求一样IO线程回写Socke时也是有多个线程在并发执行所以回写Socket的速度也很快。等到IO线程回写Socket完毕主线程会清空全局队列等待客户端的后续请求。 4、IO多路复用 文件描述符File descriptor)简称FD句柄。是计算机科学中的一个术语是一个用于表述指向文件的引用的抽象化概念。文件描述符在形式上是一个非负整数。实际上它是一个索引值指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时内核向进程返回一个文件描述符。在程序设计中文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。 IO多路复用I/O多路复用I/O Multiplexing是一种在单个线程中管理多个I/O操作的机制。它允许一个进程或线程监视多个文件描述符sockets、文件、管道等的可读、可写状态从而实现在单个线程中处理多个I/O操作。 I/O网络I/O尤其在操作系统层面指数据在内核态和用户态之间的读写操作 多路多个客户端连接连接就是套接字描述符即socket或者channel) 复用复用一个或几个线程。 IO多路复用就是说一个或一组线程处理多个TCP连接使用单进程就能够实现同时处理多个客户端的连接无需创建或者维护过多的进程/线程。 epoll函数是Linux系统提供的一种高效的I/O多路复用机制它可以在一个线程中同时处理多个文件描述符上的I/O事件比传统的select/poll模型更加高效  redis为什么那么快 因为使用了IO多路复用和epoll函数而不是仅仅单线程命令和redis安装在内存中。 在Redis6/7版本中多线程默认是关闭的 5、开启redis多线程 打开redis.conf文件 io-threads设置线程个数 io-thread-do-reads是否启动多线程 关于线程数的设置官方的建议是如果为4核的 CPU建议线程数设置为2或3如果为8核CPU建议线程数设置为6线程数一定要小于机器核数线程数并不是越大越好。
http://www.zqtcl.cn/news/522715/

相关文章:

  • 龙岗菠菜网站建设chatgpt网页
  • 如何查看网站ftp地址四川公共资源交易网招标网
  • 家居企业网站建设机构沈阳工程信息
  • 上海好的网站设计公司wordpress 上传文件路径
  • 用微信微博网站来做睡眠经济亚马逊跨境电商开店流程及费用
  • 网络公司做的网站根目录在哪网站建设必备条件
  • 网站建设外包服务管理情况公众号 链接wordpress
  • 深圳网站建设黄浦网络 技术差做网站的怎么跑业务
  • 青岛崂山区网站建设广东企业网站建设多少钱
  • 男女做那个的小视频网站韩国儿童才艺网站建设模板
  • 餐饮品牌网站建设淮北论坛最新招聘
  • 给客户做网站网站自动适应屏幕
  • 人力资源培训与开发什么是网站优化
  • 制作 网站 盈利农村自建房设计图一层平房
  • 佛山住房和城乡建设厅网站wordpress图片外链转内链
  • 海东高端网站建设价格wordpress侧边栏淘宝客
  • 网站功能建设中页面wordpress让投稿
  • 学校网站 asp网站结构方面主要做哪些优化
  • 深圳做网站(信科网络)做网站需要多少资金
  • 做网站实例教程网站图片的作用
  • 网站建设展板营销渠道的三个类型
  • 用php做视频网站有哪些十大免费logo设计
  • 网站建设对于网络营销的意义微信购物商城
  • 基于个性化推荐的电商网站设计与实现网站 用户体验的重要性
  • 怎么用ajax做电商网站企业网查询是什么
  • 海淀企业网站建设张店学校网站建设公司
  • 专业微网站开发做购物网站怎么赚钱
  • 怎样做酒店网站ppt什么是企业网络营销平台
  • 科技部网站改版方案济南众筹网站建设
  • 中国城乡与住房建设部网站电子商务公司名字推荐