lmdb数据库的读取与转换(一) —— 基本操作
import lmdbimport os, sysdef initialize():env = lmdb.open("lmdb_dir") #如果没有就创建lmdb_dir目录return envdef insert(env, sid, name):txn = env.begin(write=True)txn.put(str(sid).encode(), name.encode())txn.com
·
基本操作
txn.commit()
对LMDB的修改必须使用txn_commit()将事务提交,否则所有的操作均被丢弃
通过 env = lmdb.open() 打开环境 通过 txn = env.begin() 建立事务 通过 txn.put(key, value) 进行插入和修改 通过 txn.delete(key) 进行删除 通过 txn.get(key) 进行查询 通过 txn.cursor() 进行遍历 通过 txn.commit() 提交更改
import lmdb import os, sys def initialize(): env = lmdb.open("lmdb_dir") #如果没有就创建lmdb_dir目录 return env def insert(env, sid, name): txn = env.begin(write=True) txn.put(str(sid).encode(), name.encode()) txn.commit() def delete(env, sid): txn = env.begin(write=True) txn.delete(str(sid).encode()) txn.commit() def update(env, sid, name): txn = env.begin(write=True) txn.put(str(sid).encode(), name.encode()) txn.commit() def search(env, sid): txn = env.begin() name = txn.get(str(sid).encode()) return name def display(env): txn = env.begin() cur = txn.cursor() for key, value in cur: print(key, value) env = initialize() print("Insert 3 records.") insert(env, 1, "Alice") insert(env, 2, "Bob") insert(env, 3, "Peter") display(env) print("Delete the record where sid = 1.") delete(env, 1) display(env) print("Update the record where sid = 3.") update(env, 3, "Mark") display(env) print("Get the name of student whose sid = 3.") name = search(env, 3) print(name) # 最后需要关闭lmdb数据库 env.close() # 执行系统命令 # os.system("rm -r lmdb_dir")
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献31条内容
所有评论(0)