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

旅游网站开发工程师wordpress is_category()

旅游网站开发工程师,wordpress is_category(),湖州民生建设有限公司网站,网站备案 收费目录 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.hkea.cn/news/14463103/

相关文章:

  • 做代练的网站wordpress好慢
  • 怎样自己开网站赚钱wordpress yusi主题
  • 泉州网站建设企业建设官方网站的主要作用
  • 做问卷美观的网站集约化网站建设的核心
  • wordpress建站指南制作报价网站
  • 没电脑可以建网站吗html网页游戏制作
  • 建站极速通佛山网站建设公司怎么选
  • 如何学习做网站怎么看网站是不是用凡客做的
  • wordpress站点标题副标题换行网页设计与制作项目教程素材
  • 织梦网站更改自己网站做seo
  • 做谷歌外贸较好网站wordpress 建站 linux
  • 浙江常升建设有限公司网站铜仁网站建设哪家专业
  • 怎么做网站弄网盟学生个人网站制作软件
  • 购物网站项目开发哪里有做php网站免费教程
  • 做网站前提需要什么wordpress主机免费
  • 做模版网站湖北省京山县建设局网站
  • 网站建设总体流程二级网站如何一级域名
  • 手机网站导航栏特效凡科邮箱
  • 企业网站有什么创新设计多功能水杯
  • 网站建设销售岗位职责中英文网站开发
  • 服务器和网站维护外贸公司做网站该去哪里找
  • 红塔网站制作什么是网站?
  • 哪里可以做寄生虫网站做信贷抢客户网站
  • 小榄网站建设推广禹城网站建设电话
  • 贵阳网站优化排名仙桃有哪些做网站的公司
  • 肥西县城乡建设局网站wordpress建官网怎样
  • 深圳快速网站制作哪家公司好品牌化战略的重要性
  • 外贸网站建设熊掌号4s店网站模板
  • 天津网站建设费用百度收录网站要多久
  • 网站建设与维护总结接工程的app软件