在 python 中使用 lmdb
Linux 中, 可以使用指令
pip install lmdb
安装 lmdb 包.
----
lmdb 数据库文件生成
增 改 删
查
1, 生成一个空的 lmdb 数据库文件
- # -*- coding: utf-8 -*-
- import lmdb
- # 如果 train 文件夹下没有 data.mbd 或 lock.mdb 文件, 则会生成一个空的, 如果有, 不会覆盖
- # map_size 定义最大储存容量, 单位是 kb, 以下定义 1TB 容量
- env = lmdb.open("./train",map_size=1099511627776)
- env.close()
2,LMDB 数据的添加, 修改, 删除
- # -*- coding: utf-8 -*-
- import lmdb
- # map_size 定义最大储存容量, 单位是 kb, 以下定义 1TB 容量
- env = lmdb.open("./train", map_size=1099511627776)
- txn = env.begin(write=True)
- # 添加数据和键值
- txn.put(key = '1', value = 'aaa')
- txn.put(key = '2', value = 'bbb')
- txn.put(key = '3', value = 'ccc')
- # 通过键值删除数据
- txn.delete(key = '1')
- # 修改数据
- txn.put(key = '3', value = 'ddd')
- # 通过 commit() 函数提交更改
- txn.commit()
- env.close()
3, 查询 LMDB 数据库
- # -*- coding: utf-8 -*-
- import lmdb
- env = lmdb.open("./train")
- # 参数 write 设置为 True 才可以写入
- txn = env.begin(write=True)
- ############################################ 添加, 修改, 删除数据
- # 添加数据和键值
- txn.put(key = '1', value = 'aaa')
- txn.put(key = '2', value = 'bbb')
- txn.put(key = '3', value = 'ccc')
- # 通过键值删除数据
- txn.delete(key = '1')
- # 修改数据
- txn.put(key = '3', value = 'ddd')
- # 通过 commit() 函数提交更改
- txn.commit()
- ############################################ 查询 lmdb 数据
- txn = env.begin()
- # get 函数通过键值查询数据
- print txn.get(str(2))
- # 通过 cursor() 遍历所有数据和键值
- for key, value in txn.cursor():
- print (key, value)
- ############################################
- env.close()
参考:
- https://blog.csdn.net/dcrmg/article/details/79144507
- https://www.cnblogs.com/houjun/p/10484945.html
来源: http://www.bubuko.com/infodetail-3379822.html