【问题标题】:How to store a nested Map structure in Ehcache?如何在 Ehcache 中存储嵌套的 Map 结构?
【发布时间】:2017-12-25 13:15:20
【问题描述】:

我想将 Map >> 类型的变量存储到 Ehcache 中。如何将这个嵌套的 Map 结构作为值存储在 Ehcache 中?

【问题讨论】:

  • 哪个版本的ehcache?你的实际问题是什么?
  • @Henri 我正在使用 ehcache 3。我想将嵌套的 Map 结构存储到缓存中,就像我在问题中提到的那样。现在,我可以做到了。我所做的是,我为它的值类型创建了一个存储 HashMap 的缓存。在将我的地图添加到缓存中时,我将其类型转换为 HashMap。早些时候,我无法存储 Map,因为它不可序列化。

标签: java ehcache ehcache-bigmemory ehcache-3


【解决方案1】:

Ehcache 3 只能存储 java.io.Serializable 对象。 Map 是一个不可序列化的接口,但 Map 接口的 HashMap 实例实现了 java.io.Serializable 接口。 因此,您可以将缓存配置为Cache<Integer, HashMap<String, HashMap<String, Integer>>>

【讨论】:

  • 这仅适用于集群或非堆。堆存储可以存储不可序列化的条目。此外,您可以指定一个序列化程序。也就是说,即使接口不可序列化但实现是可序列化的(如 Map 和 HashMap),您也会收到警告但它仍然有效。
  • 如何指定序列化程序?
猜你喜欢
  • 2021-04-26
  • 2014-06-19
  • 2014-01-17
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 2022-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多