我运行自己的博客系统已经有一段时间了,我注意到对于大多数页面,每次访问页面时都需要执行几个(5-10)个相同的数据库查询。
现在我正在考虑将数据缓存到 xml 文件中。这是我这样做的计划:
--- 发布/编辑博客时,将数据插入/更新到 MySQL 数据库,并生成 xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<data>
<id>32</id>
<title>caching data with xml</title>
<date>2012-10-01</date>
<content><![CDATA[<p>blah...blah...blah...</p>]]></content>
</data>
--- 当页面被访问时,首先检查文件是否存在(以防万一),然后解析 xml 文件和格式/输出数据。
if(file_exists("path/to/blog/32.xml")) {
$data = simplexml_load_file("path/to/blog/32.xml");
echo '<h2'>.$data->title.'</h2>';
echo '<p'>.$data->date.'</p>';
echo $data->content;
}
else {
mysql_query(...);
}
通过这样做,MySQL 可以做更少的工作,但我不太确定这是否会在以后引起任何问题,例如 100 或 300 个访问者同时访问同一个页面。PHP可以处理吗?我用这种方法做对了吗?
提前感谢您提供任何信息和提示。
顺便说一句,我还没有考虑使用这些模板。