2023年11月23日发(作者:)
打开mdb数据库_PyTorch60.读写LMDB数据库
LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的⽂件结构简单,包含⼀个数据⽂件和⼀个锁⽂
件:
LMDB⽂件可以同时由多个进程打开,具有极⾼的数据存取速度,访问简单,不需要运⾏单独的数据库管理进程,只要在访问数据的代码⾥
引⽤LMDB库,访问时给⽂件路径即可。
让系统访问⼤量⼩⽂件的开销很⼤,⽽LMDB使⽤内存映射的⽅式访问⽂件内存映射的⽅式访问⽂件,使得⽂件内寻址的开销⾮常⼩,使⽤指针运算就能实现。数
据库单⽂件还能减少数据集复制/传输过程的开销。
在python中使⽤lmdb: linux中,可以使⽤指令‘’ 安装lmdb包。
pip install lmdb
1. ⽣成⼀个空的lmdb数据库⽂件:
# -*- coding: utf-8 -*-
import lmdb
# 如果train⽂件夹下没有或⽂件,则会⽣成⼀个空的,如果有,不会覆盖
# map_size定义最⼤储存容量,单位是byte,以下定义1TB容量
env = ("./train",map_size=1)
()
2. LMDB数据的添加、修改、删除:
# -*- coding: utf-8 -*-
import lmdb
# map_size定义最⼤储存容量,单位是kb,以下定义1TB容量
env = ("./train", map_size=1)
txn = (write=True)
# 添加数据和键值
(key = '1', value = 'aaa')
(key = '2', value = 'bbb')
(key = '3', value = 'ccc')
# 通过键值删除数据
(key = '1')
# 修改数据
4. 读取已有.mdb⽂件内容:
# -*- coding: utf-8 -*-
import lmdb
env_db = nment('trainC')
# env_db = ("./trainC")
发布评论