假如分别对如下方法进行了缓存:
-
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 方法,数据则出错了。
请问大家有什么更合理的方式来实现类似情况的缓存更新吗? 谢谢。