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

湖北网站建设服务珠海百度seo

湖北网站建设服务,珠海百度seo,wordpress交互插件,小程序开发免费平台失败是成功之母 ——法国作家巴尔扎克 目录 单线程模型 Redis为什么这么快 单线程模型 redis只使用一个线程,处理所有的命令请求,不是说redis服务器进场内部真的就只有一个线程,其实也有多个线程,那就是处理网络和io的线程。 R…

 失败是成功之母  ——法国作家巴尔扎克


目录

单线程模型

Redis为什么这么快


单线程模型

        redis只使用一个线程,处理所有的命令请求,不是说redis服务器进场内部真的就只有一个线程,其实也有多个线程,那就是处理网络和io的线程。

        Redis使用单线程架构来实现高性能的内存数据库服务。

        下图是两个redis-cli客户端对同一个redis服务器进行+1请求:

        在学习java的过程中我们就可以很容易的就知道,这里肯定涉及到一个多线程问题,表面上是自增两次,但是实际上可能只自增了一次。 出现这种问题的原因就是并发。

        幸运的是redis并不会发生这种问题。因为redis是单线程模型,保证了接受多个请求,都是串行的执行,多个请求也是需要在请求队列中进行排队一个一个的执行。

        redis能够使用单线程模型来进行很好的工作,得益于redis的核心业务逻辑都是短平快。不需要消耗很多的cpu资源就可以执行。

redis单线程图解

        但是他也有弊端,那就是如果一个操作时间过长,那么就会影响其他任务的执行。


        说了这么多,既然是单线程,那为什么redis这么?🧐


Redis为什么这么快

        一切的快慢都是有参照物的,那么redis的快的参照物,毫无疑问那就是mysql和SqlServer等关系型数据库。因为redis是直接访问内存,而这些关系型数据库一般都是访问硬盘操作,访问内存的操作肯定比访问硬盘的操作要更加的快速。

        其次,redis要做的业务的核心功能更加简单。Redis既是访问内存,干的事也是很简单。关系型数据库mysql对于插入查询都有着更加复杂的功能支持,这样的功能势必要话费更多的开销。例如各种插入,都有各种约束,都会消耗性能,让数据库变慢。

        Redis干的活很少,提供的功能也是少了不少。🚀

        由于单线程模型,避免了一些不必要的线程竞争开销。

        处理网络IO的时候,使用了epoll这样的IO多路复用一个线程管理多个socket)再加上Redis 自身的事件处理模型将 epoll 中的连接、读写、关闭都转换为事件,不在网络 I/O 上浪费过多的时间。

Redis如何利用多路复用?

         一个线程, 就可以管理多个 socket针对 TCP 来说,服务器这边每次要服务一个客户端,都需要给这个客户端安排一个 socket一个服务器服务多个客户端, 同时就有很多个 socket.
        这些 socket 上都是无事不刻的在传输数据嘛??? 很多情况下,每个客户端和服务器之间的通信也没那么频繁此时这么多 socket 大部分时间都是 静默的上面是没有数据需要传输的。

        同一时刻只有少数的socket是活跃的,如果每一个客户端都生成一个socket,那么线程就多了,系统开销就大了。

        虽然单线程给 Redis 带来很多好处,但还是有一个致命的问题:对于单个命令的执行时间都是有要求的。如果某个命令执行过长,会导致其他命令全部处于等待队列中,迟迟等不到响应,造成客户端的阻塞,对于 Redis 这种高性能的服务来说是非常严重的,所以 Redis 是面向快速执行场景的数据库。

        所以我们应该避免keys * 这样的操作。


        你确实挺厉害,如果能从第一篇看到这里的话。不过这些大多数是我自己复习的文章,如果能帮到你是最好的,谢谢。

        下一篇如下:

Redis -- String 字符串, 计数命令,字符串操作-CSDN博客文章浏览阅读480次,点赞18次,收藏13次。Redis 的String字符串,已经一些常用命令:set ,get , mget , mset , setnx , setex, psetex。计数命令incr,decr,incrby,decrby,incrbyfloat。字符串操作:append, getstrang,setstrange,strlen.https://blog.csdn.net/niceffking/article/details/135952746

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

相关文章:

  • 网站备案幕布照规范thinkphp网站开发技术
  • 湖南省建设信息网站查询网站没备案
  • 汉鼎中国 网站建设墨刀网站开发原型图教程
  • 虚拟币交易网站源码地瓜互联 wordpress
  • 网站开发 项目接单做家具商城网站
  • 美食网站建设多少钱网站建设综合实训报告
  • 遵义公司做网站找哪个公司好教学管理信息服务平台
  • app要有网站做基础华为云做网站不能修改页面
  • 北京网站建设 专业10年平易云 网站建设
  • 黑龙江 俄语网站制作北京建站开发
  • 吉安网站制作沈阳今天最新通知
  • 专业自适应网站建设极速建站网站模板如何制作
  • diy网站开发公司重庆网站建设加q.479185700
  • 岳池住房和城乡建设厅网站网站推广最有效的方法
  • 江苏网站建设功能软件开发网站建设维护
  • wordpress电商建站网站建设大公司
  • wordpress导出静态网站个人简历怎么做
  • 188旅游网站源码写作网站不屏蔽
  • 做影视网站赚钱吗凡客诚品实体店在哪
  • 单页面的网站模板企业招聘网站
  • 上海网站备案要求吗上海人才中心
  • 网站正在建设中 模板北京高端网站建设飞沐
  • 郑州搭建网站公司wordpress绑定
  • 东莞废水处理 东莞网站建设高效网站推广方案
  • 网页设计与网站建设 石油大学哈尔滨网站空间
  • 佛山网站建设seo优化免费企业名录数据
  • 网站开发 学习步骤河南国基建设集团有限公司网站
  • php开发的大型网站有哪些手机网站开发解决方案
  • 炫酷网站设计免费自学网
  • 网站建设正版软件滨江道做网站公司