【问题标题】:Is there any way to configure disk store for terracotta BigMemory to remove all data store on service/cache manager start up?有没有办法为 terracotta BigMemory 配置磁盘存储以删除服务/缓存管理器启动时的所有数据存储?
【发布时间】:2025-12-23 00:05:12
【问题描述】:

关于兵马俑 BigMemory GO 配置的问题

问:有没有办法配置磁盘存储以在服务/缓存管理器启动时删除所有数据存储?

描述:我将 BigMemory 配置为溢出到 OffHeap,因此将在磁盘存储中创建 Lucene 索引(不依赖于持久策略)。我需要在下一次缓存管理器启动(应用程序启动)时清理磁盘存储,但我不想在我的应用程序代码中使用特定的清理方法。 目前,如果应该 down 成功后,BigMemory 将在下次启动时重用索引。

谢谢。

【问题讨论】:

  • 不确定我是否理解您的问题...首先是 BigMemory GO 吗? Max(意思是陶土分布)?那么,您指的是哪种“索引”?堆外溢出不会在磁盘上创建任何内容...堆外数据存储在 RAM 中。我能想到的唯一索引与缓存“搜索”有关,它确实使用索引...或者您指的是关于兵马俑“永久存储”到磁盘的索引?...请提供有关这些的更多详细信息,所以我们可以更好地回答...
  • 我说的是 BigMemory GO。 Index- Lucian 索引由 bigmemory 创建,以防您使用 overflowToOffHeap,它存储在可以配置或使用默认位置的磁盘存储位置下。

标签: java ehcache terracotta ehcache-bigmemory


【解决方案1】:

据我了解,您希望在重新启动时从 BigMemory Go 中删除索引数据。

能否做到这一点取决于你的持久性策略。如果它是本地可重新启动的,BigMemory Go 将尝试在应用程序完全关闭时重用索引数据,或者如果应用程序突然关闭,它将恢复索引。所以,对于本地可重启的持久化策略,没有办法避免重建数据。

如果您的持久化策略是“localTempswap”,那么您将不会在重新启动时重建任何数据,并且会丢失应用程序的状态。

更多信息请看这里:http://ehcache.org/documentation/configuration/fast-restart

【讨论】:

  • 感谢回复,但我说的是NONE持久化策略,以防使用堆外,磁盘存储由Lucian索引创建
最近更新 更多