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

做360手机网站电商网站seo排名

做360手机网站,电商网站seo排名,怎么建投票网站,站酷做网站目录 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.pierceye.com/news/18980/

相关文章:

  • python完整网站开发项目视频教程wordpress 转移 问号
  • 关于美食网站的问卷调查怎么做百度指数在线查询小程序
  • 南宁网站建设 醉懂网络吉林最新消息今天新增
  • 中昌国际建设集团网站高端品牌网站设计
  • 关于个人工作室网站模板dw是什么软件
  • 网站建设企业开发公司对网站建设安全性的要求
  • 地方门户网站有前景吗漯河网站建设兼职
  • 九一制作厂网站app企业电子商务网站建设规划
  • 网站收录的页面被k出来做网站服务器配置怎么选
  • 网站建设策划书范文西安哪里可以做网站
  • 自建网站怎么关闭怎么把在微企点做响应式网站
  • 网站设置受信任做网站美工的理由
  • 帐号售卖网站建设网站建设免费加盟代理
  • 哈尔滨网站建设哪家好外贸销售网站有哪些
  • 微信对接网站重庆城市建设集团官方网站
  • 用rp怎么做网站按钮下拉菜单百度新闻搜索
  • 网站用什么语言2017网站开发前景
  • 网站备案去哪注销天津百度关键词推广公司
  • ps在线网站校园门户网站
  • 嘉兴网站的优化宁波seo快速优化费用
  • 电子商务网站建设期末试卷答案做网站怎么更新静态页
  • 重庆做网站公司哪家好北京首钢建设有限公司网站
  • 网站设计的一般流程是什么有哪些网站可以做毕业设计
  • 信誉好的专业网站建设东莞品牌网站设计公司计公司
  • 网站如何申请宠物网站素材
  • 全国建设造价信息网站软件工程排名
  • 餐厅网站模板网站建设安全架构
  • 企业网站如何优化动画设计与制作教案
  • 只做衬衫的网站临沂小程序开发公司哪家好
  • 网站开发过程无成本搭建属于自己的网站