首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定cacheManager (org.springframework.cache.CacheManager)中是否存在密钥

如何确定cacheManager (org.springframework.cache.CacheManager)中是否存在密钥
EN

Stack Overflow用户
提问于 2020-05-19 17:37:57
回答 1查看 5.8K关注 0票数 3

是否有一种方法可以查看cacheManager (org.springframework.cache.CacheManager)中是否存在特定的键,因为没有containsKey选项,所以我无法找到这样做的方法。如果有人能告诉我检查cacheManager中是否存在密钥,我将不胜感激。以下是我迄今尝试过的几件事-

代码语言:javascript
复制
Cache cache=null;
for (String name : cacheManager.getCacheNames()) {
    cache=cacheManager.getCache(name);
    System.out.println("-------------->"+cache.get("dummyCache").get()); //this will give me null pointer exception as there is no dummyCache 
    }

我希望添加if/else检查缓存中是否存在dummyCache密钥

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-19 18:25:03

您可以简单地检查Cache.getnull返回的值。

来自相关文件 (由我强调):

返回此缓存映射指定键的值,该值包含在Cache.ValueWrapper中,其中还可能包含缓存的空值。直接返回null意味着缓存不包含此键的映射。

所以

  • cache.get("foo") == null的意思是:缓存中不存在密钥"foo“
  • cache.get("foo").get() == null的意思是:键"foo“确实存在于缓存中,但它的值是null
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61897341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档