如何解决h2堆外存储的局限性是什么?数据存储在哪里?
我正在考虑利用H2堆外商店。根据该文档,“存储是可插入的。除非使用纯内存操作,否则默认存储为单个文件。”
以下示例代码是否涉及所谓的纯内存操作?
OffHeapStore offHeap = new OffHeapStore();
MVStore s = new MVStore.Builder().
fileStore(offHeap).open();
如果是,堆外内存空间的限制是什么?
如果不是,默认存储文件在哪里?
解决方法
OffHeapStore
使用Java进程的本地(直接)内存(不是Java 堆),没有文件。其最大大小取决于可用内存量和JVM设置。如果您的JVM中的默认设置不适合您,则可以使用java -XX:MaxDirectMemorySize=2048M …
设置JVM的总显式限制。但是,您的系统上也需要足够的可用内存。
OffHeapStore
不能保证比默认的内存存储更有效,您必须将它们与应用程序进行比较。
如果没有足够的内存,则可以始终将持久性磁盘存储与MVStore.Builder().fileName("…").open()
一起使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。