2

需要一些关于编年史地图如何工作的信息,它是否像它在内存中保留一些键值对一样,当它溢出它存储的值的特定阈值时,它会将数据溢出到磁盘,或者它取决于内存大小,如果地图的大小增长到阈值以上然后将数据溢出到磁盘,如果是这样,那么如何配置它,或者是否有任何其他策略?

4

1 回答 1

6

Chronicle Map 直接写入内存映射文件。这完全是堆外的。如果您编写一个条目,则该条目对同一台机器上的其他进程立即可见。此外,如果您的 JVM 崩溃,数据不会丢失或损坏。

写入数据后,应用程序无需执行任何操作。(这就是为什么它可以在不丢失数据的情况下崩溃)

内存中但尚未写入磁盘的数据量由操作系统决定。它通常是主内存的 10% 左右。操作系统会随着时间的推移将数据写入磁盘(通常是几秒钟)

已写入磁盘的条目使用操作系统的读取缓存。读取缓存可以是系统的全部可用内存。改变这个限制的方法是增加更多的内存。

于 2015-08-27T11:38:49.840 回答