PHP缓存技术
Posted peiyu1988
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务器。目前使用较多的是指此类缓存。
以上是关于PHP缓存技术的主要内容,如果未能解决你的问题,请参考以下文章