微信号:phpdevelopers

介绍:PHP开发者(phpdevelopers)-做最专业的PHP资源分享平台!

php开发中合理利用缓存技术的好处

2019-06-09 15:01 php开发者

    在Web服务开发过程中,服务端缓存技术是业务实现过程中经常采用的一种能够提高服务性能的方法。其通过记录某部分计算结果来尝试避免再次执行得到该结果所需要的复杂计算,从而提高了服务的运行效率。

  除了能够提高服务的运行效率之外,服务端缓存技术还经常用来提高服务的扩展性能。因此一些大规模的Web应用,如新浪网,腾讯网等就通常构建一个庞大的服务端缓存来提高用户访问效率。而它们所最常使用的缓存技术就是Memcache缓存技术。

  缓存的好处在于我们处理高并发或者操作数据库比较频繁的时候,此时由于这样重复的请求或者过高的并发会导致数据库、服务器压力大到网站运行缓慢或者服务器宕机。那么我们可以在web应用请求比较频繁的页面加上缓存,这样可以有效的缓解数据库或者服务器压力。

那么下面来说说memcache具体的工作流程:

  如上图模拟大概的数据请求:客户端发送请求到服务器,服务器需要响应客户端请求必须返回请求数据那么此时请求的数据存在数据库中,服务器需要对应的服务器语言引擎去操作数据库并获取响应数据并回传到客户端。这是一次请求所走的一个请求过程,试想一下如果10万人或者100万人同时请求那么次过程会重复执行10万或者100万次那么对数据库与服务器的压力可想而知。


  下图我们使用缓存去处理上述请求:

  上图任然在模拟客户端的数据请求:蓝色箭头为客户端发送请求,红色箭头为服务器给客户端响应数据。与传统请求不一样的是此时我们使用了缓存,所以服务器在客户端第一次请求多了一次操作---就是拿到第一次的请求数据后在缓存里面也存放了一份(并且会设置一个生存周期,缓存不可能永久保存)。那么后续的请求(比如后5秒内)并没有去请求数据库而是从缓存直接读取从而减少了直接请求数据库对数据库所造成的压力。那么5秒过后呢?

  5秒后的第一次请求仍然会去请求一次数据库,接下来的5秒的所请求都是在访问缓存而不是直接请求数据库。

  举例说明如新浪网,该网站是一个门户网站由于访问量大特别是某一个时段的请求可能会异常大。如早上8-10点我们会去看该网站上的最新新闻,那么这一时间段对于新闻模块的并发与请求异常多,那么该时段如果没有缓存机制该模块可能因为请求量过大而发生异常。

  所以缓存的好处很多、可以局部缓存也可以整栈缓存缓存时机可调整,缓存数据过期可自动释放。所以该技术是时机开发过程中不可或缺的技术。


 
php开发者 更多文章 精通数据库书籍推荐(附带下载地址) 【免费】下载大数据开发全套教程,最权威在线机构课程! 一看就懂的数据库范式 让PHP7达到最高性能的几个Tips Vue中组件与组件之间的通信实现
猜您喜欢 搜索引擎技术原理与Twitter实时搜索引擎的进化 给MT的几个建议 写给Android App开发人员看的Android底层知识(1) 你离BAT之间,只差这一套Java面试题。 除了电脑和手机,芯片还有哪些应用?又有多重要?