我想在“按顺序缓存”(直读+直写)配置中使用Ehcache,这样它将与父进程隐藏数据库交互。
在我的情况下,对于请求的密钥,可能会发生相应的值在基础数据库中根本不存在的情况。因此,为了避免每次调用get(key)来获取不存在的值时都查询数据库,我想在缓存中存储该值丢失的事实。我想到的第一件事是为此存储空值。因此,如果ehcache.containsKey(key)返回false,则需要查询数据库并更新缓存;但是,如果ehcache.containsKey(key)返回true,而ehcache.get(key)返回null,则意味着该值将永远不会存在,并且我不必查询数据库。
但是,Ehcache文档指出了put(key,null)is not allowed。
那如何处理这种情况?
答案 0 :(得分:0)
使用NullObject
。因此,不是存储null
,而是存储一些您知道代表null
的对象。