【发布时间】:2010-05-19 10:22:45
【问题描述】:
我正在开发一个 Web 应用程序,我们即将开始使用具有 memcache 和基于磁盘的缓存的缓存层。
我们只是问自己 - 我们应该对存储的缓存数据使用什么级别/数量的格式?
假设我们有一个名为articles 的数据库表。文章表有许多列,包括headline 和content。
如果我们要将它存储为一个数组,它看起来像这样:
array (
'headline' => 'Brilliant news - sunshine all week',
'content' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis a
semper mi. Aenean rutrum ultrices mauris sed dictum. ');
或者,预先格式化的 HTML 版本:
<div class="article">
<h1>Brilliant news - sunshine all week</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis a
semper mi. Aenean rutrum ultrices mauris sed dictum. </p>
</div>
优点和缺点
显然,预格式化的 html 版本增加了每个缓存数据块的大小,因为它包含许多 html 标签。此外,如果数据要以不同的方式格式化(我不认为我们会这样做),也会有一些令人头疼的问题。这样做的选择当然是在缓存中存储每篇文章的多个版本。
那么,在我们的案例中,什么是常识?让 HTML 每次都根据从 memcache 中检索到的数组进行渲染,还是只输出预先格式化的 html?
【问题讨论】:
标签: mysql performance caching memcached