Nic*_*las 12
缓存层的目的应该是:反映数据库中的相应数据,但提供的速度比数据库快,或至少提供它而不保持数据库繁忙.
要实现这一目标,您有两种解决方案:
第一种非常罕见,但很容易处理:只需定期更新缓存.
第二点是您最有可能在项目中处理的内容:只需在更新数据库时更新缓存.这比你想象的要简单:
如果您的代码足够干净,那么应该很容易在其上实现有效的缓存策略.关于缓存以及如何在我之前发布的答案中做得更好.希望这一切都会帮助你:)
小智 10
正如您似乎已经解决的那样,它并不像新闻报道更新时更新新闻报道的缓存那么简单.还有其他关系,例如,您需要更新的最新新闻报道列表.
最简单的方法是关联所有相关的对象.我之前使用过缓存组的概念.继续我的新闻示例,在缓存组 '新闻'中将是; 新闻报道,各种新闻报道列表以及其他包含新闻报道的内容.
当我编辑新闻报道时,系统会识别出需要更新缓存组 "新闻"并完成以下过程...
当然,这是一个非常简单的例子.更简洁的方法是编写代码以始终保持对象在缓存中的位置.
如果您在新闻文章中添加标签,您的代码可以将这些更改写入数据库,但如果您更新新闻文章对象和相关标签对象,这两个对象都可以"知道"它们已经更改(就像设置一样简单hasChanged = true)然后,您可以更新缓存并自动保存到数据库.
| 归档时间: |
|
| 查看次数: |
5948 次 |
| 最近记录: |