zoukankan      html  css  js  c++  java
  • Python中使用LMDB

    在python中使用lmdb

    linux中,可以使用指令pip install lmdb安装lmdb包。

    生成一个空的lmdb数据库文件

    # -*- coding: utf-8 -*-
    import lmdb
    # 如果train文件夹下没有data.mbd或lock.mdb文件,则会生成一个空的,如果有,不会覆盖
    # map_size定义最大储存容量,单位是kb,以下定义1TB容量
    env = lmdb.open("./train",map_size=1099511627776)
    env.close()
    

    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()
    

    查询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()
    

    参考:ps://blog.csdn.net/dcrmg/article/details/79144507

  • 相关阅读:
    浏览器的渲染与小优化
    css3 贝塞尔曲线理解
    mac下配置汇编环境
    报错 net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
    vue中使用iframe,加载完成的onload事件偶尔不触发
    nrm的使用
    js原生实现元素跟随鼠标拖动
    webpack多页面打包笔记
    关于React的组件优化笔记
    React生成器
  • 原文地址:https://www.cnblogs.com/houjun/p/10484945.html
Copyright © 2011-2022 走看看