gpt4 book ai didi

java - 如何在 LoadingCache 中有效存储可能具有多个键的对象

转载 作者:行者123 更新时间:2023-12-01 22:54:20 26 4
gpt4 key购买 nike

我有一个数据结构,其中有对象,并且它们有目标。并且它们之间是多对多的关系。例如:object1 具有目标:t1、t2、t3 和object2 有目标:t2、t3。

我想编写一个 Guava LoadingCache 以便按目标存储每个对象。现在,问题是:对象 1 和 2 都将存储在 t2 和 t3 下。这就是浪费。

所以,我想到的一个解决方案是拥有另一张 ids map 。在目标缓存中,我将按对象 ID 存储对象。

现在的问题是:由于在 LoadingCache 中,我们没有公开的方法来负责清除缓存(或者在清除缓存时监听的方法。),所以我无法将 id 映射保持在日期,缓存实际更新的时间。

有什么好方法可以让这两张 map 保持同步吗?

最佳答案

我质疑你的前提,特别是“这是浪费”。您存储的是对对象的多个引用,而不是对象本身的多个副本,并且引用很便宜。拥有另一个 ids 映射可能比您最初的原始方法更加昂贵

关于java - 如何在 LoadingCache 中有效存储可能具有多个键的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24314955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com