绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
lmdb数据库的读取与转换(一) —— 基本操作
2022-04-15 15:13:12

基本操作
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")

——————
原文链接:https://blog.csdn.net/hxxjxw/article/details/117960303

分享好友

分享这个小栈给你的朋友们,一起进步吧。

LMDB
创建时间:2022-04-15 14:36:38
LMDB
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • itt0918
    专家
戳我,来吐槽~