2

tc在 python 中使用带有模块的 Tokyo Cabinet。我以 TDB 格式存储我的数据。我希望该表仅在写入期间阻塞。不幸的是,我看到当文件以“编写器模式”打开时,其他进程无法从中读取。这是标准行为,包装问题,还是我做错了什么?或者在其他情况下操作被阻止?

4

1 回答 1

5

根据规格

Tokyo Cabinet 提供两种连接数据库的模式:“reader”和“writer”。阅读器可以进行检索,但不能存储或删除。作家可以执行所有访问方法。当通过文件锁定连接到数据库时执行进程之间的排除控制。当写入器连接到数据库时,读取器和写入器都不能连接。当一个读取器连接到数据库时,可以连接其他读取器,但写入器不能。根据这种机制,在多任务环境下通过同时连接来保证数据的一致性。

您可以为每个写入操作创建和关闭 writer,或者使用 Tokyo Tyrant 提供并发访问。

于 2009-11-18T06:35:15.187 回答