3

我通过 PyTyrant 模块使用 Tokyo Cabinet 数据库,将数据存储在哈希表(*.tch 文件)中。当文件大小达到 65 GB 时,会出现以下错误:当向数据库添加新条目时,查询新键会给出“没有这样的键错误”。但是,当我查询所有键的列表时,会列出新键。此外,不能从表中删除有问题的条目。

谁能解释一下?

编辑: 'tcrmgr inform -st -port 1978 localhost' 在错误之前的输出:

version 1.1.40
libver  323
protver 0.91
os  Linux
time    1397633010.989177
pid 25308
sid 0
type    hash
path    tmp.tch
rnum    1104
size    68721564032
bigend  0
fd  8
loadavg 1.630000
memsize 153833472
memrss  2265088
ru_real 3272.949521
cnt_put 1105
cnt_putkeep 0
cnt_putcat  0
cnt_putshl  0
cnt_putnr   0
cnt_out 0
cnt_get 1166
cnt_mget    0
cnt_vsiz    2
cnt_iterinit    5
cnt_iternext    680
cnt_fwmkeys 0
cnt_addint  0
cnt_adddouble   0
cnt_ext 0
cnt_sync    0
cnt_optimize    0
cnt_vanish  0
cnt_copy    0
cnt_restore 0
cnt_setmst  0
cnt_rnum    102
cnt_size    0
cnt_stat    884
cnt_misc    0
cnt_repl    0
cnt_put_miss    0
cnt_out_miss    0
cnt_get_miss    2

并在添加另一条记录后,出现错误:

version 1.1.40
libver  323
protver 0.91
os  Linux
time    1397633011.102457
pid 25308
sid 0
type    hash
path    tmp.tch
rnum    1105
size    68731564064
fatal   22: no record found
bigend  0
fd  8
loadavg 1.630000
memsize 153833472
memrss  2265088
ru_real 3273.062801
cnt_put 1106
cnt_putkeep 0
cnt_putcat  0
cnt_putshl  0
cnt_putnr   0
cnt_out 0
cnt_get 1167
cnt_mget    0
cnt_vsiz    2
cnt_iterinit    5
cnt_iternext    680
cnt_fwmkeys 0
cnt_addint  0
cnt_adddouble   0
cnt_ext 0
cnt_sync    0
cnt_optimize    0
cnt_vanish  0
cnt_copy    0
cnt_restore 0
cnt_setmst  0
cnt_rnum    102
cnt_size    0
cnt_stat    885
cnt_misc    0
cnt_repl    0
cnt_put_miss    0
cnt_out_miss    0
cnt_get_miss    3
4

0 回答 0