PHP缓存技术的使用说明

 更新时间:2011年08月06日 19:41:15   作者:  
PHP缓存技术的应用时相当普遍的,也许有些人还对这项技术不太了解,我们现在就为大家详细的介绍一下PHP缓存技术的相关应用技巧。
在大部份情况下我们的网站都会使用数据库作为站点数据存储的容器。当你执行一个SQL查询时,典型的处理过程是:连接数据库->准备 SQL查询->发送查询到数据库->取得数据库返回结果->关闭数据库连接。但数据库中有些数据是完全静态的或不太经常变动的,缓存系统会通过把SQL查询的结果缓存到一个更快的存储系统中存储,从而避免频繁操作数据库而很大程度上提高了程序执行时间,而且缓存查询结果也允许你后期处理。

普遍使用的PHP缓存技术

  PHP缓存技术之数据缓存:

  这里所说的数据缓存是指数据库查询缓存,每次访问页面的时候,都会先检测相应的缓存数据是否存在,如果不存在,就连接数据库,得到数据,并把查询结果序列化后保存到文件中,以后同样的查询结果就直接从缓存文件中获得。

  PHP缓存技术之页面缓存:

  每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。(模板引擎和网上常见的一些缓存类通常有此功能)

  PHP缓存技术之内存缓存:

  在里就不介绍了,不是本文所要讨论的,只简单提一下:

  Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。

  dbcached 是一款基于 Memcached 和 NMDB 的分布式 key-value 数据库内存缓存系统。

  以上的缓存技术虽然能很好的解决频繁查询数据库的问题,但其缺点在在于数据无时效性,下面我给出我在项目中常用的方法:

  PHP缓存技术之时间触发缓存:

  检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。

  设定时间内不去判断数据是否要更新,过了设定时间再更新缓存。以上只适合对时效性要求不高的情况下使用,否则请看下面。

  PHP缓存技术之内容触发缓存:

  当插入数据或更新数据时,强制更新缓存。

  在这里我们可以看到,当有大量数据频繁需要更新时,最后都要涉及磁盘读写操作。怎么解决呢?我在日常项目中,通常并不缓存所有内容,而是缓存一部分不经常变的内容来解决。但在大负荷的情况下,最好要用共享内存做缓存系统。

  到这里PHP缓存也许有点解决方案了,但其缺点是,因为每次请求仍然要经过PHP解析,在大负荷的情况下效率问题还是比效严重,在这种情况下,也许会用到静态缓存。

  PHP缓存技术之静态缓存

  这里所说的静态缓存是指HTML缓存,HTML缓存一般是无需判断数据是否要更新的,因为通常在使用HTML的场合一般是不经常变动内容的页面。数据更新的时候把HTML也强制更新一下就可以了。

相关文章

  • php中使用explode查找某个字符是否存在的方法

    php中使用explode查找某个字符是否存在的方法

    为了使输入方便,减少在装修编辑模块的时候出现太多的文字框,需要用到在一个框内输入两三种不同内容,然后再使用一些特殊字符来分隔开,用explode来建立一组数据的方法。
    2011-07-07
  • PHP实现的装箱算法示例

    PHP实现的装箱算法示例

    这篇文章主要介绍了PHP实现的装箱算法,结合实例形式分析了PHP装箱算法的概念、原理、定义及使用方法,需要的朋友可以参考下
    2018-06-06
  • PHP实现搜索相似图片

    PHP实现搜索相似图片

    感知哈希的优点是简单快速,不受图片大小缩放的影响,缺点是图片的内容不能变更。实际应用中,往往采用更强大的pHash算法和SIFT算法,它们能够识别图片的变形。只要变形程度不超过25%,它们就能匹配原图。
    2015-09-09
  • php封装的表单验证类完整实例

    php封装的表单验证类完整实例

    这篇文章主要介绍了php封装的表单验证类,结合完整实例形式分析了php针对表单元素正则验证与类型判定的相关操作技巧,对于php程序设计的安全性有一定参考借鉴价值,需要的朋友可以参考下
    2016-10-10
  • PHP生成短网址方法汇总

    PHP生成短网址方法汇总

    本文给大家汇总介绍了3种使用php生成短网址的方法,第一种是PHP+MySQl实现短网址的生成和读取,第二种是php+ini方式,第三种跟第一种有些类似,各有利弊,小伙伴们可以根据自己的项目需求来选择。
    2016-07-07
  • PHP中提问频率最高的11个面试题和答案

    PHP中提问频率最高的11个面试题和答案

    这篇文章主要介绍了PHP中提问频率最高的11个面试题和答案,每个公司都有自己的面试标准,面试和问题是完全取决于你在工作中所扮演的角色,当然也和你的编程技能息息相关,需要的朋友可以参考下
    2014-09-09
  • PHP filesize函数用法浅析

    PHP filesize函数用法浅析

    在本篇文章中我们给大家整理了关于PHP中filesize函数的用法和相关知识点,有需要的朋友们学习下。
    2019-02-02
  • 探讨php中header的用法详解

    探讨php中header的用法详解

    本篇文章是对php中header的用法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 详解各种PHP函数漏洞

    详解各种PHP函数漏洞

    这篇文章主要介绍了详解各种PHP函数漏洞,对漏洞感兴趣的同学,可以参考下
    2021-04-04
  • PHP弹出提示框并跳转到新页面即重定向到新页面

    PHP弹出提示框并跳转到新页面即重定向到新页面

    本文为大家介绍下使用PHP弹出提示框并跳转到新页面,也就是大家所认为的重定向,下面的示例大家可以参考下
    2014-01-01

最新评论