lmdb.open()参数

在学习复现styleGAN代码的时候看到这样一段:
datasets.py就想搜索一下相关的参数都是什么含义。
内容来自:lmdb.open()参数说明
想写入自己的笔记本当中。

path
存储数据库的目录位置(如果 subdir=True)或文件前缀。

max_reader
同时读取事务的最大数量。 只能由打开环境的第一个进程设置,因为它会影响锁定文件和共享内存区域的大小。 尝试同时启动多个 read 事务将失败。

map_size
最大的数据库可能会增长的大小。用于调整内存映射的大小。如果数据库增长大于“map_size”,将引发异常,用户必须关闭并重新打开环境。在 64 位上,这样做不会受到惩罚(比如 1TB)。 在 32 位上必须小于 2GB。

subdir
如果为“True”,则“path”指的是存储数据和锁定文件的子目录,否则指的是文件名前缀。

readonly
如果为“True”,则禁止任何写操作。 注意锁定文件仍然被修改。 如果指定,则忽略 :py:meth:begin 或 :py:class:Transactionwrite 标志。
【根据代码来看应该大部分情况下都是True

locker
如果 False,不要做任何锁定。 如果预期并发访问,调用者必须自己管理所有并发。 为了正确操作,调用者必须强制执行单一写入者语义,并且必须确保在写入者处于活动状态时没有读取者正在使用旧事务。 最简单的方法是使用排他锁,这样当写入器开始时,根本没有读取器处于活动状态。

readahead
如果为“False”,LMDB 将禁用 OS 文件系统预读机制,这可能会在数据库大于 RAM 时提高随机读取性能。
【大部分应该都是False】

meminit
如果 False LMDB 不会在将缓冲区写入磁盘之前对其进行零初始化。 这提高了性能,但可能会导致将旧堆数据写入保存在缓冲区的未使用部分中。 如果您的应用程序在内存中操作机密数据(例如明文密码),请不要使用此选项。 此选项仅在 writemap=False 时才有意义; 新页面总是零初始化
writemap=True
附上:
python使用lmdb数据库的讲解

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值