`
pcajax
  • 浏览: 2162621 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP常见缓存技术分析,让重复的调用缓存以加快速度

阅读更多

淘宝API在使用时,如果要调用相同的数据,比如一些类目 ,娄烦 ,简介,不要每次都去调用 数据表,这样会流弹速度,还有流量 ,
在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。
普遍使用的缓存技术
数据缓存:这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件
中,以后同样的查询结果就直接从缓存文件中获得。
页面缓存:
每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)
内存缓存: <script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>
在里就不介绍了,不是本文所要讨论的,只简单提一下:
Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。
dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。
以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面我给出我在项目中常用的方法:
时间触发缓存:
检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用 ,否则请看下面。
内容触发缓存:
当插入数据或更新数据时,强制更新缓存。
在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。
到这里PHP缓存也许有点解决方案了,但其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。
静态缓存
这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。
流量规则 淘宝开放平台Beta期间,试运行的流量规则是每个API接口调用次数每天调用不能超过10000次。其中需要上行的数据接口:商品增加、update等需要提交数据的接口,一律每天上限5000次。 Beta运行期间免费。有流量异常频率异常的应用,淘宝有权利随时取消访问权利。 <script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>
频率限制 淘宝OpenAPI每分钟访问的次数是有限制的,一般为400次/分钟,即一个应用访问任何一个淘宝API,一分钟内最多只能访问400次。对于部分特殊的数据上传型API,频率另行限制。
违反频率限制的应用将被记录在案,有严重违规行为的应用将直接计入黑名单。
所以建议大家都做下缓存,不论是有无限制做好缓存也没什么坏处。

分享到:
评论

相关推荐

    php缓存技术

    PHP缓存技术是提高Web应用程序性能的关键策略,它能够减少数据库查询、降低服务器负载并加快页面加载速度。本文将深入探讨PHP缓存的原理、重要性以及如何利用Redis这一高效缓存工具进行优化。 首先,我们需要理解...

    PHP内存缓存技术memcached 的安装和工作原理介绍

    **PHP内存缓存技术memcached** 是一种广泛用于加速Web动态应用程序的分布式内存对象缓存系统。它通过存储数据在内存中,避免了反复查询数据库,显著提升了网站性能。memcached设计简洁,易于部署,支持多种编程语言...

    PHP缓存技术详解(经典)

    PHP缓存技术是指在数据请求过程中,将经常使用的数据存储在访问速度较快的地方(如内存或文件系统),以便后续请求能够更快地获取这些数据,从而提高应用程序的运行效率和响应速度。 #### 常见的PHP缓存策略 #####...

    PHP中常见的缓存技术实例分析

    本文将详细解析PHP中的缓存技术,包括其原理、优点以及一些实例,以帮助开发者理解如何有效地利用缓存来优化代码。 缓存的原理简单来说就是将经常访问但不常改变的数据存储在内存或者文件中,以便于下次访问时能...

    PHP 缓存详情机制

    在现代Web开发中,缓存技术扮演着极其重要的角色。合理的缓存策略不仅能显著提升应用性能,还能改善用户体验。对于PHP开发者而言,深入理解PHP缓存机制对于构建高效稳定的Web应用至关重要。本文将围绕PHP缓存机制...

    韩顺平 PHP Memcached缓存技术资料源码笔记图解PPT_Ady

    【PHP Memcached缓存技术详解】 在Web开发中,数据缓存是一种常用的技术手段,用于提升网站性能,减少数据库负载。PHP Memcached扩展是PHP与Memcached缓存服务器交互的一个接口,它允许开发者将数据存储在内存中,...

    简单高效的php文件缓存类.zip

    在PHP编程中,文件缓存是一种常见的优化技术,它能够减少服务器对数据库的访问,提高网站性能。这个“简单高效php文件缓存类”提供了一种便捷的方式,用于存储和检索经常请求的数据到本地文件系统,从而降低服务器...

    PHP实现的简单缓存类.zip

    在PHP中,我们可以使用各种缓存技术,如文件缓存、内存缓存(如APC、Memcached或Redis)等。 标题中的“PHP实现的简单缓存类”表明这是一个自定义的PHP类,设计用于实现基本的缓存功能。下面我们将详细讨论这个类...

    PHP 缓存类和apc缓存类

    根据给定的信息,我们可以深入探讨 PHP 缓存技术以及如何使用抽象类来设计缓存系统。此外,还将探讨 APC 缓存的具体实现。 ### 一、缓存抽象类概述 在给定的代码中,定义了一个名为 `Cache_Abstract` 的抽象类。这...

    php缓存生成html类

    在PHP开发中,为了提高网站性能,我们常常会利用缓存技术来生成静态HTML页面,减少服务器处理动态请求的负担。这里的"php缓存生成html类"是指通过编写PHP类来实现这一功能。这个类通常包含一系列方法,用于捕获PHP...

    php页面缓存方法小结

    PHP页面缓存方法是针对Web开发中常见性能问题提出的一种优化策略,它可以显著减少数据库查询和服务器处理时间,从而加快页面响应速度。该技术适用于对同一页面内容的访问频率较高,且内容不经常变动的场景。在PHP中...

    [示例][PHP]文件缓存的php类库.zip

    只需按照类库提供的接口进行调用,就能实现高效的数据缓存。 例如,一个简单的用法可能是: ```php $cache = new FileCache(); $data = $cache-&gt;get('key'); if (!$data) { // 数据不在缓存中,从数据库获取 $...

    PHP服务缓存加速优化实战.docx

    PHP 缓存加速器是一种提高 PHP 应用程序性能的关键技术,它可以将编译后的操作码文件保存下来,并放到共享内存里,以便在下一次调用该 PHP 页面时重用它,从而提升了 PHP 编译解析效率,降低了服务器负载,同时减少...

    C# 调用PHP webservice

    - 使用缓存策略减少不必要的网络请求,或者考虑使用异步调用以提高响应速度。C#的`async/await`关键字可实现异步调用,提高UI的响应性。 总结,C#调用PHP WebService涉及多个步骤,包括理解服务接口、创建客户端、...

    PHP调用C#的webservice

    7. **性能优化**:为了提高调用效率,可以考虑缓存WSDL,避免每次调用都重新加载。此外,还可以使用代理服务器和负载均衡策略,以应对高并发请求。 通过以上步骤,PHP就可以顺利地调用C#编写的WebService,实现跨...

    php缓存实现原理

    PHP缓存实现原理主要涉及到的是PHP的输出控制(Output Control)机制,这是一组用于管理脚本输出的函数,能够让我们在数据实际被输出到浏览器之前对其进行处理。这些功能对于优化网页性能,尤其是在动态网站中生成...

    LAMP与LNMP优化与缓存加速

    后续请求可以直接使用缓存的操作码,加快响应速度。 5. **LNMP环境PHP缓存加速原理** 在LNMP环境中,Nginx接收请求后转发给php-fpm,php-fpm调用PHP解析器处理文件,编译为操作码并缓存。之后的请求直接使用缓存,...

    html通过js调用php代码实现局部刷新

    同时,通过缓存和合适的API设计,可以提高响应速度和减少服务器负载。 总结来说,"html通过js调用php代码实现局部刷新"是一个常见的Web开发场景,它结合了HTML的静态结构、JavaScript的动态交互以及PHP的服务器处理...

Global site tag (gtag.js) - Google Analytics