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

网站建设分类方案上海最近发生什么大事

网站建设分类方案,上海最近发生什么大事,专业的内蒙古网站建设,室内展厅设计公司一、redis早期版本和新版本的讨论 这个问题其实有些废话#xff0c;哪个版本肯定都有不同啊。其实这里主要是提到的网上的大家对Redis6.0中的多线程版本的不同即以前宣传的Redis是单线程程版的#xff0c;之后变成了多线程版本的。网上对这个讨论非常激烈#xff0c;反正各…一、redis早期版本和新版本的讨论 这个问题其实有些废话哪个版本肯定都有不同啊。其实这里主要是提到的网上的大家对Redis6.0中的多线程版本的不同即以前宣传的Redis是单线程程版的之后变成了多线程版本的。网上对这个讨论非常激烈反正各种说法都有。 其实结论只有一个很多讨论的人都是就事论事没有真正看源码也没有看所谓多线程和单线程应对的场景也就是Redis的正常应用下它的适应情况。所以往往大家抓住一个点开始各种各种表达然后就没然后了为了讨论而讨论。 二、redis的单线程和多线程版本 既然是讨论不妨咱们也多句嘴百花齐放一下。对Redis来说其做为一种内存型数据库其主要目的就是在内存中存储键值对也就是常说的KV数据。对内存操作来说速度有多快开发者们不想都可以知道。假设有一种存储能快到和Cache一样的速度并且容量大那么多线程意义更不大。前面分析过所谓各种的处理手段的目的就是为了解决计算机中资源处理速度的不匹配而出来的多线程也是如此当然不能说完全是为了这个。 那么如果从这种思想出发可以发现内存对网络IO的速度那是辗压级别的。好回头看一下Redis的单线程模型的主要内容 从上层来看就是一个线程IO多路复用epoll或 kevent 或 select。一个线程对应着这种IO多路复用恰恰正是优势所在。而前面的网络系列中分析过无论哪种多路复用一个前提是活跃的连接一定不能太多否则其基本的速度都是差不多的甚至还不如最简单的select。 如果你要坚持开多个IO多路复用对Redis这种多点部署的程序来说不如多部署几个节点。也就是说需要考虑多点和多线程间的效率、成本和其它条件了。 所以说所谓单线程指的是这一部分而不是说整个Redis没有使用多线程这是第一个要明白的单线程和多线程的区别其次单线程在这种环境下相对多线程至少没有劣势特别成开发、维护等上反而更有优势。 三、应用场景的分析 在设计和开发一个软件时最初一定是为了达到自己的某些想法或者说设定目标如果这种想法和目标不需要某种复杂的技术就可以实现那么为什么要杀鸡用牛刀呢换句话说如果小学的知识可以解决的问题为什么非要升级到大学知识才去解决呢但反过来又想目前小学知识可以解决这个问题可过了两年发现新的应用场景或者目标如果用到中学的会更好大学的会更好做为问题的解决者你会怎么办或者可以理解成可不可以老中青三年一起来解决问题呢这样想就明白了Redis多线程版本了。推而广之也就明白了所有的软件迭代升级的特点了。 与时俱进是每一个人必须掌握的基本思想。 做为内存型的数据库快是最主要的一种特点。而数据库最典型的特征就是要读写数据到数据库。这二者的目标提出来可以用后来者的眼光分析一下多线程在这种场景下是否比单线程更有优势而且这种优势必须是全面的成倍以上的。这是什么意思呢。全面必须要考虑技术的先进性和安全稳定性也要兼顾容易开发和后期的易维护性还有其它如成本等等。而不是单纯的考虑一个技术问题。另外如果使用一项新技术仅仅比旧的技术提高了不多的效率那么整体的成本仍然是让人无法忍受的。 具体到Redis其最主要的核心是通过网络接收数据然后通过处理读写内存这是最基础最核心的需求。前面分析过多路复用然后再增加一个线程搞一搞读写既可以快速操作内存又可以防止出现多线程中的数据一致性和锁同步等问题。这样一看单线程没有啥劣势啊甚至还有优势。然后再实际测试一下多线程与单线程在这种情况下根本没有什么大的优势。而且官方的声明中也提到了在这种内存IO的数据库中限制性能的瓶颈不是CPU而是内存大小和网络IO的处理注意这也是后来升到多线程的一个重要原因。 那么既然不是瓶颈为什么Redis6要升级多线程呢 仍然回头看Redis的主流应用线程IO多路复用。这里有没有可以使用多线程进行优化从而进一步提高效率的呢特别是随着Redis的广泛应用一些复杂的命令和数据结构也被应用上来协议也在不断的升级和扩充等等。有过网络开发经验的开发者会想到在网络开发中高并发是一个重要的特点虽然不能在同一时间有大量活跃但可以轮换活跃保持着一种中等并发的持续性应用。那么此时一个瓶颈出现了多路复用中读和写的处理以及监听的处理速度往往不匹配而且数据读出来的原始解析解析协议也很浪费时间可不可以用一些线程来处理这些功能呢这些功能如果用多线程处理能提高多少效率呢会增加多少开发和维护成本呢而且物理硬件也在不断的推陈出新多核的CPU已经被广泛在服务器中应用一些新的技术也涌现出来。这对Redis的开发维护者也提出了更高的要求。 从Redis6.0中提供了这个多线程版本来看应该是效率明显的不然不会推出。但仔细看源码发现整个Redis6.0的核心命令执行仍然是单线程的这是什么意思就是最初的设计的意思简单、安全而又保证效率的情况下为什么要引入多线程呢 那么以后会不会继续改进甚至全部改成多线程呢这个还是得看发展。如果协程被广泛应用后可以就是协程版了大家说有没有这种可能 四、总结 早就跟大家一起分享过一定要抓住事物本质。针对软件就是找到其应用的目的其核心思想是什么而不是简单的说哪种技术好哪种技术不好。最合适的就最好的而这个最合适一定是随着应用的发展不断的变化的。孤立的、片面的和僵化的看问题就很容易陷入到无何止的争论中去。教条主义、本本主义和经验主义其实大家都犯但一定要记得打破这层牢笼。否则就会固步自封难建寸功。 所以科学和哲学往往是无法分开的。这也是学习一些思想的目的和原因。
http://www.w-s-a.com/news/580536/

相关文章:

  • 给分管领导网站建设情况汇报怎么写网络运营的岗位职责及任职要求
  • 电线电缆技术支持中山网站建设广告设计培训学校有哪些
  • 如何禁止通过ip访问网站wordpress无法调用主题布局和图片
  • 江西建设工程信息网站重庆网站推广大全
  • 南浔区住房城乡建设局网站网页设计基础学什么
  • 萧山做网站的企业网站建设 西安
  • 江西省城乡建设厅网站百度站长资源平台
  • 本地搭建linux服务器做网站免费查企业信息查询
  • 电商网站建设与运营网上购物哪个网站最好
  • 做app做网站从何学起网站设计需要什么证
  • 设计网站最重要的是要有良好的短网址还原
  • 大连建设银行招聘网站做seo是要先有网站吗
  • 中山做网站的wordpress建站教程百科
  • 湛江专业网站制作做网站需要工具
  • 做音箱木工网站吉林平安建设网站
  • 品牌网站建设咨询灯光设计网站推荐
  • 温州网站运营打开百度一下网页版
  • 网站有情链接怎么做住房公积金个体工商户
  • 内蒙古网站开发网站开发验收资料
  • 温州网站建设首选国鼎网络网络营销方法可分为两类
  • 做张家界旅游网站多少钱企业推广网络营销
  • 代做毕设网站推荐广东手机微信网站制作
  • 福州建设工程质量监督网站专业做公司宣传网站的
  • 百度云建站教程网站工程师是做什么的
  • 手机在线制作网站一级消防工程师考试试题及答案
  • 网站设计的需求网页制作教程和素材
  • 徐州网站建设 网站推广WordPress 文章编辑
  • 做什么网站比较受欢迎软件商店下载安装2023版本最新
  • 做ip资讯的网站怎么在wordpress中套用同行网页
  • 医院网站如何备案东莞优化公司收费