东京内阁 - 记忆调整

时间:2012-04-07 06:08:35

标签: java database tokyo-cabinet

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

tokyoCabinet.setxmsiz()设置额外映射内存的大小,因为使用mmap,通常是filesize

  

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

如果你有数组的1024个元素:recsize,设置apow = 13

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

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

The official documentation