PHP缓存技术

1.内存缓存

redis 是高性能的内存缓存服务器。 一般的使用目的是:通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较常用的方式就是 key–>value方式;

 1 <?php
 2 //链接redis
 3 $redis = new Redis(); 
 4 $redis->connect('127.0.0.1', 6379); 
 5 echo "链接成功"; 
 6 //声明一个redis key 并且赋值
 7 $redis->set("tutorial-name", "Redis tutorial"); 
 8 //获取并打印出来
 9 echo "测试redis key: " .$redis→get("tutorial-name"); 
10 ?>

2.页面缓存方法

每次访问页面的时候,都会先检测相应的缓存页面文件是否存在,如果不存在,就连接数据库,得到数据,显示页面并同时生成缓存页面文件,这样下次访问的时候页面文件就发挥作用了。

php页面缓存主要用到的是ob系列函数。

1 //页面缓存开始的标志
2 Ob_start()
3 //用来获取页面缓存中的内容
4 $content = Ob_get_contents();
5 //表示页面缓存结束
6 ob_end_flush();

3.页面部分缓存

这种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示。

4.FILE缓存

例如,商城中的某个商品信息,当用商品id去请求时,就会得出包括店铺信息、商品信息等数据,此时就可以将这些数据缓存到一个JSON文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓存文件中缓存的就是一个php数组之类。

也可以使用XML,FILE,PHP等file文件。

5.APACHE缓存模块 

apache安装完以后,是不允许被cache的。如果外接了cache或squid服务器要求进行web加速的话,就需要在htttpd.conf里进行设置,当然前提是在安装apache的时候要激活mod_cache的模块。安装apache时:./configure –enable-cache –enable-disk-cache –enable-mem-cache。

6.APC缓存

它是指APC把PHP文件源码的编译结果缓存起来,然后在每次调用时先对比时间标记。如果未过期,则使用缓存的中间代码运行。默认缓存3600s(一小时)。但是这样仍会浪费大量CPU时间。因此可以在php.ini中设置system缓存为永不过期(apc.ttl=0)。不过如果这样设置,改运php代码后需要重启WEB服务器。目前使用较多的是指此类缓存。

原文地址:https://www.cnblogs.com/peiyu1988/p/6679260.html