如何使用PHP缓存?

jopen 10年前

         PHP的缓存可以加快网站打开速度,减少服务器负载等,对于PHP缓存的实现方式很多,今天主要选择比较典型的几种作为案例简单进行说明,以后的文章会对每个缓存机制做详细的描述,首先我们要说一下什么是缓存。
1、什么是缓存
         缓存是一种“以空间换时间”的策略,是一种提高性能的常用方法。缓存机制通常用于缓解大访问量下的数据库和磁盘负担,有效的应用缓存机制可以很大的减少对数据库和磁盘的操作次数,PHP的缓存方式有哪些呢?
2、时间触发缓存
   检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。
3、 时间触发缓存
   检查文件是否存在并且时间戳小于设置的过期时间,如果文件修改的时间戳比当前时间戳减去过期时间戳大,那么就用缓存,否则更新缓存。 
4、文件缓存
         这种方式是把数据库查询出来的数据做为缓存的内容,假如查询出来的数据是一个数组,我们可以将这个数组系列化之后再保存在一个PHP文件中,当要读取内容的时候就可以反系列化从而得到一个查询结果的数组。避免了对数据库进行反复的查询。(注:读取文件的速度比查询数据库快,但是要避免文件太多,从而对硬盘的IO操作太多,从而影响速度,所以缓存文件也要合里规划。)
5、内存缓存
         内在缓存应该也是数据缓存的一种,是将数据库查询出来的 数据缓存在内存中,共享内存块中。这种方式可以通过扩展软件来实现,现在主流的主要是memcache 
6、页面静态化
         页面生成静态化就是生成静态的html,这样程序下次访问的时候直接请求这个html文件,避免了PHP的重新编译和数据库的查询。 Smarty 模版缓存。
7、PHP模块缓存
         PHP有一个APC缓存扩展,windows下面为php_apc.dll,需要先加载这个模块。
8、MYSQL缓存
        MYSQL自带有自己的缓存机制,需要调整配置文件my.ini。
9、PHP缓冲器: 
        eAccelerator、xcache、Zend Optimizer等软件可以优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。
10、服务器缓存
通过web服务器的缓存机制,实现数据的缓存,例如:APACHE的mod_mem_cache、mod_disk_cache、mod_cache等。