东京内阁 - 记忆调整

Arp*_*sss 15 java database tokyo-cabinet

我有超过1亿个键值对(一个键可以有多个值).我正在使用Tokyo Cabinet的BDB(B + Tree DB),其键值为32位字节数组.

是否可以在东京内阁设定可以使用多少内存(下限和上限)?实际上,我有8GB内存,但它似乎无法利用大内存.

另一点是,我想知道如何设置,

tokyoCabinet.tune()tokyoCabinet.optimize()tokyoCabinet.setxmsiz()tokyoCabinet.setcache()这些参数因此我可以得到我的情况的最大调整.提前致谢.任何想法对我都有帮助.

Ale*_*rev 1

tokyoCabinet.setcache() - 设置缓存大小,通常是文件大小的一半或更多

tokyoCabinet.tune() - 在打开之前设置哈希桶文件和 BTree 索引参数

tokyoCabinet.optimize() - 当文件已经打开时,设置哈希桶文件和BTree索引的新参数,如果记录数量增加超过tune(bnum)中设置的数量,您可以通过optimize()增加,例如。

tokyoCabinet.setxmsiz() 设置额外映射内存的大小,如使用 mmap,通常是文件大小

1 亿个键值对 - bnum > 100M * 2 值是 32 位字节数组 -> recsize = 32bit = 8 字节 -> apow = 3 ( = 2^3 )

如果数组有 1024 个元素:调整大小,设置 apow = 13

lmemb指定每个叶页中的成员数。如果不大于0,则指定默认值。默认值为 128。

nmemb指定每个非叶页中的成员数。如果不大于0,则指定默认值。默认值为256。fpow以2的幂指定空闲块池的最大元素数。

官方文档