ehcache:存储null以指示缺少值与“尚未缓存”吗?

时间:2018-11-03 12:42:44

标签: ehcache

我想在“按顺序缓存”(直读+直写)配置中使用Ehcache,这样它将与父进程隐藏数据库交互。

在我的情况下,对于请求的密钥,可能会发生相应的值在基础数据库中根本不存在的情况。因此,为了避免每次调用get(key)来获取不存在的值时都查询数据库,我想在缓存中存储该值丢失的事实。我想到的第一件事是为此存储空值。因此,如果ehcache.containsKey(key)返回false,则需要查询数据库并更新缓存;但是,如果ehcache.containsKey(key)返回true,而ehcache.get(key)返回null,则意味着该值将永远不会存在,并且我不必查询数据库。

但是,Ehcache文档指出了put(key,null)is not allowed

那如何处理这种情况?

1 个答案:

答案 0 :(得分:0)

使用NullObject。因此,不是存储null,而是存储一些您知道代表null的对象。