2013-02-14 37 views
1

对不起,我不知道怎么说我的用例。Google Guava中的复杂时间缓存键

我正在尝试使用Guava缓存加载由其ID绑定的用户配置文件对象。问题在于配置文件可能会随时间而改变,所以我需要在日期之前键入请求。此外,我只想为单个用户缓存单个配置文件(而不是针对单个用户每周的每一天配置7个不同的配置文件)。

只有当日期发生变化时,是否有任何方法可以用新装入的缓存条目替换现有的缓存条目,而不是为新的唯一键添加新的缓存条目?

为清楚:

样本关键会是什么样子<user id, date>

如果我有一个是通过<123, "2013-02-13">键控缓存项,并且请求进入<123, "2013-02-14">,应该只有在一个条目加载新配置文件后,为用户123缓存。

谢谢!

回答

2

这听起来像你应该做的是有一个Cache<UserId, DateAndProfile>,然后检查自己是否需要覆盖DateAndProfile。 Guava缓存API不会让您以任何奇特的方式将不同的密钥视为“相同的”。

+0

好吧,我可以与之合作。感谢您的快速回复(并为我迟到的道歉致歉)! – Daniel 2013-02-15 18:35:15