gpt4 book ai didi

java - 我可以在一个缓存中缓存多个表,还是需要为每个表维护单独的缓存?

转载 作者:太空宇宙 更新时间:2023-11-04 10:05:36 24 4
gpt4 key购买 nike

我正在使用 Guava 设置缓存,但我需要缓存多个表。在之前的项目中,由于 JSON 对象是嵌套对象,我能够缓存多个表 - 一个表的 JSON 嵌套在另一个表的 JSON 中。在这种情况下,代码被设置为不会发生嵌套,因此我不能只缓存包含所有其他对象的一个​​ JSON 对象。因此,我想知道是否可以设置 Guava Cache 将多个表的内容保存在一个缓存中,或者是否必须设置多个缓存。我还没有找到有关一个共享缓存的任何信息,而且我担心多个缓存可能会导致潜在的性能影响。

最佳答案

As such, I'd like to know if I can set up Guava Cache to hold the contents of multiple tables in one cache, or if I have to set up multiple caches.

对于任何缓存,您都可以做到这两点。对于共享缓存,您需要复合键,例如:

class TableIdTuple {
String tableName;
int id;
TableIdTuple(String tableName, int id) { ... }
boolean equals(...) { ... }
int hashCode() { ... }
}

然后您可以通过以下方式访问缓存:

cache.get(new TableIdTuple(tableName, id));

为每个表使用专用缓存通常速度更快并且对象分配更安全。但是,如果您有大量表,最终会需要配置和监视大量缓存。因此,为了使操作更容易,共享缓存可能会更好。

关于java - 我可以在一个缓存中缓存多个表,还是需要为每个表维护单独的缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52970571/

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