php使用文件缓存

时间:2021-10-10 16:40:20

使用php读取mysql中的数据很简单,数据量不大的时候,mysql的性能还是不错的。但是有些查询可能比较耗时,这时可以把查询出的结果,缓存起来,减轻mysql的查询压力。

缓存的方法有几种:使用memcache,redis等可以将数据缓存到内存中,如果服务器环境不支持内存缓存技术,还可以使用file缓存的办法。

例如使用ci框架:

if(!$download_top = $this->cache->file->get('download_top'))
{
  $download_top = $this->games_model->game_top(6);
  $this->cache->file->save('download_top', $download_top, 300);
}//下载排行
$data['download_top'] = $download_top;

通过这样的代码,便可以将需要频繁查询的数据缓存进文件中。

通过xdebug测试,使用文件缓存后,的确可以提高读取速度,但是提升很微小。可是网站的并发能力却变弱了很多(在本地测试,刷新几下,服务器都有点处理不过来了!),推测是由于文件缓存增加了系统的IO负担。

所以,使用文件缓存,还是要权衡好使用它的代价,并非所有情况都适合。页面静态化的原理也差不多。