假如分别对如下方法进行了缓存:
get_article_ids()
// 获取文章id集合
get_user_artical_ids()
// 获取用户文章id集合
此时,如果再实现一个 delete_article(aid)
方法,用于删掉一篇 article , 则需要在该方法内去删掉或更新上述两个方法的缓存,否则数据就不一致了。
我的问题是:
假如此时还需要实现一个 get_favorite_article_ids()
方法, 就需要在 delete_article
里再删除一个缓存,我觉得这样很不合理,也违背了 OCP 原则。 假如实现get_favorite_article_ids
的这个人,遗漏了修改 delete_article
方法,数据则出错了。
请问大家有什么更合理的方式来实现类似情况的缓存更新吗? 谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.