0

我有一个简单的缓存系统,它的工作原理如下:1. 编辑器进入管理面板,2. 输入数据,3. 数据保存到 MySQL(为了更好地衡量)并放入 HTML 模板。

模板本身是我展示文章的页面的一部分(类似于<article>...</article>)。以 HTML 格式保存为 {id}.html

当用户进入页面 /articles/22/ 时,我只是include()主模板的相应 HTML 页面。超级简单。

但这有点原始的IMO。我开始怀疑,将 JSON 与标题、内容、标签和内容等字段一起存储,然后用 PHP 解析并放入模板会不会更好。它给了我一些好处(比如可以将数据放在模板中的其他位置),但我的首要任务是速度。

所以 - 我的问题是:获取 JSON(预先保存在文本文件中)、使用 PHP 解析它并放入模板中会比包含预先保存的 HTML 文件慢得多。我知道如果我们同时谈论 100 个请求,这里没什么好奇怪的,但是如果我们谈论更多呢?或者也许我的方法根本不成熟,我应该坚持流行的“用户访问页面,检查缓存文件是多久之前创建的,如果它过期,你包含它或从 SQL 获取”?我不喜欢那样。我只是认为用户没有任何理由参与创建缓存文件。它们唯一的变化是编辑器进行一些更改时,所以让他成为创建缓存文件的人。

4

1 回答 1

0

使用直读缓存将使您走得更远。基本上,如果缓存中不存在对象(可以呈现 HTML、json 或任何在您的流程中工作的内容),您将通读数据库以构建它,一旦构建,您会将其存储在缓存中。

如果对对象进行了更改,您可以删除缓存,并在下次请求时重建它。

至于缓存,您可能想要使用 memcached 之类的东西,尽管 apc 也可以很好地工作。

于 2013-01-31T15:19:39.523 回答