当前位置: 首页 > 知识库问答 >
问题:

我想使用@Cacheable或任何其他机制中的key从缓存列表中查找记录

殷安顺
2023-03-14

你好,我需要帮助,我是缓存数据的新手。我在使用xml配置的spring应用程序中使用ehcache,我想在不同的方法中使用不同的键来查找相同的记录。假设有一种方法是这样注释的:

@Cacheable(value="getCustomerByAreaId",key="T(java.lang.String).valueOf(#areaid)")
public  List<Customer> getCustomerByAreaId(String areaid) {
    //code 
    return customerList;
}

它将返回具有相同区域ID的所有客户。此列表将存储在缓存中,因为每个客户都有唯一的客户ID。我可以使用一些机制从缓存中获取单个客户记录=getCustomerByArea aId基于客户ID。

@Cacheable(value=“getCustomerByeAId”,key=“T(java.lang.String).valueOf(#customerId)”)公共客户getCustomerById(long customerId){//code返回客户;}

我知道如果我这样制作密钥,它会使用新密钥在缓存中输入一条新记录。相反,我想从已经被缓存的列表中获取记录。

如果可能的话,我可以使用xml或java来做到这一点。

我使用的是 ehcache 版本 2.5。


共有1个答案

彭阳朔
2023-03-14

仅仅通过使用Ehcache API或Spring的缓存抽象是不可能的。

如果您想实现这一点,您将必须编写自己的逻辑来缓存列表,但也要单独缓存其元素。

 类似资料:
  • 我已经为此挣扎了很长一段时间,似乎找不到正确的说法(即使在谷歌的帮助下!) 我想做的是...(我真的希望这有意义) 从表2中的value1查找表1中的value1(以匹配),然后从第一个值匹配的表2 value2更新表1中的value2 到目前为止我有...

  • 问题内容: 扩展这个问题,我接受了一个答案,该答案说在这种情况下 使用查找表或哈希映射 ,因为它是 处理多个条件 的更好的 构造 。 当前构造。 用于存储消息的类。 条件并显示来自上述类的正确消息。 我实际上想知道在这种情况下查找表有什么帮助? 应该如何在Java Hashmap / Hashtable等中实现它,如何具有优势? - - 编辑 - - 我要去@assylias anwer,因为它更

  • null 根据密钥在缓存中查找 如果找到,则从缓存返回结果 如果未找到,则返回NULL 我不想在cache-miss的情况下更新缓存,有没有办法使用spring注释来做到这一点

  • 我已经浏览了Python文档提供的信息,但我仍然有点困惑。有人可以发布示例代码来编写一个新文件,然后使用pickle将字典转储到其中吗?

  • 在非根android设备上,我可以使用命令导航到包含数据库的data文件夹,其中包含我的包名。大多数文件类型我只满足于查看,但与数据库我想从android设备如果。 从adb Shell的这一部分是否有或命令?我想下载数据库文件并使用数据库浏览器查看其内容。 这里的一个答案是将整个应用程序包转换为压缩存档,但是没有进一步的答案来说明如何提取存档,一旦完成并移到机器上,这就让我在可能有一个更直接的解

  • 我试图开发一个android应用程序,可以擦除其他应用程序的缓存数据,我试图浏览所有的博客,但没有一个对我有效,我可以通过以下代码清除我的应用程序的缓存 我想清除其他应用程序的缓存,可以任何机构请帮助我,如果我错了请纠正我,提前谢谢。