background image

 
这个也并非独立的缓存技术,需结合着用;就是当数据库内容被修改时,即刻更新缓存文
件;
比如,一个人流量很大的商城,商品很多,商品表必然比较大,这表的压力也比较重;我
们就可以对商品显示页进行页面缓存;当商家在后台修改这个商品的信息时,点击保存,
我们同时就更新缓存文件;那么,买家访问这个商品信息时,实际上访问的是一个静态页
面,而不需要再去访问数据库;
是想,如果对商品页不缓存,那么每次访问一个商品就要去数据库查一次,如果有

10 万人

在线浏览商品,那服务器压力就大了;
 
内存式缓存
提到这个,可能大家想到的首先就是

Memcached;memcached 是高性能的分布式内存缓存

服务器。

 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动

Web 应用的速度、 提高可扩展性。

它就是将需要缓存的信息,缓存到系统内存中,需要获取信息时,直接到内存中取;比较
常用的方式就是

 key-->value 方式;

复制代码

 代码如下:

 
<?php

      

$memcachehost

 = '192.168.6.191';

      

$memcacheport

 = 11211;

      

$memcachelife

 = 60;

     

$memcache

 = 

new

 Memcache;

     

$memcache

->connect(

$memcachehost

,

$memcacheport

or

 

die

 ("Could not connect");

     

$memcache

->set('key','缓存的内容');

     

$get

 = 

$memcache

->get(

$key

);       

//获取信息

?>
 
apache 缓存模块
apache 安装完以后,是不允许被 cache 的。如果外接了 cache 或 squid 服务器要求进行 web 加
速的话,就需要在

htttpd.conf 里进行设置,当然前提是在安装 apache 的时候要激活

mod_cache 的模块。
安装

apache 时:./configure --enable-cache --enable-disk-cache --enable-mem-cache

 
php APC 缓存扩展
Php 有一个 APC 缓存扩展,windows 下面为 php_apc.dll,需要先加载这个模块,然后是在
php.ini 里面进行配置:

         

[apc]

                

extension=php_apc.dll 

                

apc.rfc1867 = on 

                

upload_max_filesize = 100M 

                

post_max_size = 100M 

                

apc.max_file_size = 200M 

               

upload_max_filesize = 1000M