php使用文件缓存数据库查询结果
php使用文件缓存数据库查询结果
当数据库查询数据量过大,但是服务器配置又不好,偶尔还会出现数据库崩溃的情况,咋办呢?这时可以通过缓存的方式,对数据库查询的数据更新不是很频繁的内容,加个缓存的操作。
NO1:获取数据库表查询结果,这个就不介绍了,原生的框架的写法都是可以的,结果定义为$result_arr;
NO2:将结果序列化,并存入文件result.txt,上代码:
$file = 'result.txt'; //缓存文件路径
$sdata = serialize($result_arr);
$fp = fopen($file, 'w');
fputs($fp, $sdata);
fclose($fp);
NO3:读取缓存文件内容:
$file = 'result.txt'; //缓存文件路径
$rdata = file_get_contents($file);
$result_arr = unserialize($rdata);
NO4:缓存更新,可以通过filemtime得到文件创建时间,通过time获取当前时间,通过比较差值决定是否更新数据