北大青鸟Java培训:PHP应用中常用的9种缓存技术?

1.全页面静态缓存是指将所有页面生成html静态页面,用户访问时直接访问,而不需要经过php服务器解析的过程。

这种方法在CMS系统中很常见,比如dedecms;常见的实现方法是使用output cache: ob _ start () * * * * *要运行的代码* * * * * $ content = ob _ get _ contents();* * * *将缓存的内容写入html文件* * * * ob _ end _ clean();第二,数据缓存,顾名思义,是一种缓存数据的方式;例如,当用商品id请求购物中心中的商品信息时,将获得包括商店信息和商品信息的数据。这时可以将这些数据缓存在一个php文件中,文件名中包含商品id来构建唯一标记;下次有人想查这个产品,先直接查这个文件里的信息,不用去数据库查询。其实缓存文件里缓存的是php数组之类的;该方法应用于Ecmall商城系统;三、查询缓存其实这和数据缓存是一个思路,就是根据查询语句进行缓存;将查询得到的数据缓存在一个文件中,下次遇到同样的查询,直接先从这个文件中调出数据,不会再去查数据库;但是,这里的缓存文件名可能需要根据查询语句来建立唯一的标签;根据时间变化进行缓存意味着您需要为缓存文件设置一个有效的时间。在此有效时间内,相同的访问将首先获取缓存文件的内容,但是如果超过了设置的缓存时间,您需要再次从数据库中获取数据并生成最新的缓存文件。比如我把我们商城的主页设置成每2个小时更新一次。

第四,缓存页面的部分。这样一个页面中变化不频繁的部分被静态缓存,而变化频繁的块不被缓存,最后组装在一起显示;可以用类似ob_get_contents的方式实现,也可以用ESI这样的页面片段缓存策略来缓存动态页面相对静态的片段部分。

这种方法可以用在,比如商城里的商品页面;5.操作码缓存首先将php代码解析成令牌,然后编译成操作码代码,最后执行操作码代码并返回结果;所以,对于同一个php文件,可以在第一次运行时缓存它的操作码代码,下次执行这个页面时,直接找到缓存的操作码代码,直接执行最后一步,不需要中间步骤。

比较知名的有XCache、TurckMMCache、PHPAccelerator等等。

6.根据内容变化进行缓存。这不是一个独立的缓存技术,需要结合起来。即当数据库内容被修改时,缓存文件立即更新;比如人流量大的商场,商品很多,商品清单必然比较大,这一桌的压力也比较重;我们可以缓存产品展示页面;当商家在后台修改该商品信息时,点击保存,我们将同时更新缓存文件;那么,当买家访问这个产品信息时,他实际上问的是一个静态页面,他不需要再次访问数据库;想象一下,如果产品页面没有缓存,那么每次访问一个产品,都要在数据库中查询。如果有6.5438+万人在线浏览产品,服务器压力会很大;七、内存缓存提到这个,可能大家第一个想到的就是Memcached;Memcached是一个高性能的分布式内存缓存服务器。

一般目的是通过缓存数据库查询结果来减少数据库访问次数,从而提高动态Web应用的速度和可扩展性。

是将需要缓存的信息缓存在系统内存中,需要获取时直接从内存中取出;更常见的方式是key _ & gt价值模式;connect($memcachehost,$memcacheport)或die(" could not connect ");$ memcache-& gt;Set('key ','缓存内容');$ get = $ memcache-& gt;get($ key);//获取信息?& gt八、apache缓存模块apache安装后不允许缓存。

重庆IT培训/认为如果外部缓存或squid服务器需要web加速,需要在htttpd.conf中设置,前提是安装apache时激活mod_cache模块。