存储富对象时使缓存技术无效

时间:2015-06-13 03:29:50

标签: caching

有时,您将整个对象图存储到缓存中,或者具有使缓存失效的集合的对象有点棘手。

有什么技术可以知道何时使缓存无效?

对于简单的对象,您可以在任何时候无效更新/保存对象,您可以简单地进行额外调用并刷新缓存。

当您拥有丰富的对象时,例如:

User
  Locations
  Sales
  History

现在,只要用户属性或位置/销售/历史记录集合数据发生变异,此用户对象就会变为“脏”。

我认为一个简单的方法是更新用户对象的'modified_date'属性,并可能将modified_date保留为缓存键的一部分,并调用获取用户行然后比较然后拉对象来自缓存的图表,基于密钥中的modified_date:

user_cache_key + user.id + user.modified_date

此方法的唯一问题是,您必须确保在更新任何对象依赖项时更新“modified_date”。

这个问题还有其他可能的解决方案吗?

0 个答案:

没有答案