`
hammer_nail
  • 浏览: 22937 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

python 操作 BDB (2)

阅读更多

上一次例子,我们采用了python特有的打开BDB的方式,非常简单,但是我好像没找到怎么指定访问方式的参数,后来继续看例子,找到了一个原生的访问方式,见代码

def common_tree_test(self):
        print "############################ Start BTREE TEST ############################# "
        home = "db_home"
        filename = "test.db"
        try:
            # create the env folder
            os.mkdir(home)
        except:
            pass
        
        # create DB env
        dbenv = bsddb.db.DBEnv()
        # open DB env
        dbenv.open(home, bsddb.db.DB_CREATE | bsddb.db.DB_INIT_MPOOL)
        # Create DB folder/object
        d = bsddb.db.DB(dbenv)
        # Open the bdb, second one is to define use what kind of struvture to access
        # btree: bsddb.db.DB_BTREE
        # hash:  bsddb.db.DB_HASH
        # queue: bsddb.db.DB_QUEUE
        # recno: bsddb.db.DB_RECNO
        d.open(filename, bsddb.db.DB_BTREE, bsddb.db.DB_CREATE, 0666)
        # Insert a record, notice that the key when you use queue, and  recno must be number
        i = 1
        start = time.time()
        print start
        while(++i < 10000000):
            d.put('test1_'+str(i), 'admin'+str(i))
        end = time.time()
        print end - start
        print d.items()
        # whenn it close, write the data from memory to file
        d.close()
        dbenv.close()
    def common_queue_test(self):       

 我们知道BDB有4种访问方式:

1. BTREE: b树的结构速度快

2. Hash: 速度和B树差不多,但是如果是有数据量大的情况下,建议采用Hash

3. Reco:x 相当于我们说的行数据的访问方式

4. Queue: 定长value的访问方式,最值得称赞的是有行锁

 

分享到:
评论

相关推荐

    python3实现的国密SM2+SM3

    在Python3中实现SM2时,你需要理解椭圆曲线数学的基本概念,如基点、阶、点的加法等,并能够生成和操作密钥对。此外,SM2算法还需要支持不同的素域,这涉及到大整数运算和模运算。 接着,我们来看看SM3算法。SM3是...

    BDB数据库

    开发人员可以使用C、C++、Java、Python等多种语言的API来访问和操作BDB数据库。BDB提供了丰富的示例代码和文档,帮助开发者快速上手。 总的来说,BDB数据库因其高效、灵活和可靠的特性,在许多需要高性能数据存储的...

    python标准库介绍

    2. 输入输出相关:文件输入输出(fileinput)、文件操作辅助模块(shutil)、临时文件处理(tempfile)、字符串输入输出(StringIO)、c语言风格的字符串输入输出(cStringIO)、内存映射文件(mmap)、用户定义的字典类型...

    BDB设计数据库的软件很强的

    其次,BDB提供了多种数据访问接口,包括C、C++、Java和Python等,这使得它能够无缝集成到各种开发环境中。同时,BDB支持事务处理,确保了数据的一致性和完整性。通过ACID(原子性、一致性、隔离性和持久性)特性,...

    BDB 数据库9.0

    BDB提供了丰富的API,包括C、C++、Java和Python等语言的接口,方便开发者根据项目需求选择合适的方式进行数据操作。 总的来说,BDB数据库9.0版本是一个强大、灵活且可靠的数据库解决方案,尤其适合需要高性能、高...

    python 基础面试常见汇总

    MySQL提供了多种存储引擎,如MyISAM(默认,适合Web和数据仓储)、InnoDB(事务处理,支持ACID,行级锁)、BDB(事务引擎,类似InnoDB)、Memory(存储在内存中,快速访问)、Merge(合并多个MyISAM表)、Archive...

    python标准库3.7.3.docx

    ### Python标准库3.7.3概述 Python标准库是Python语言的核心组成部分之一,它包含了大量预先...通过以上内容可以看出,Python标准库覆盖了从基础操作到高级应用的各个方面,为Python开发者提供了丰富的工具和资源。

    Python 3.10.5官方开发手册英文版

    2. **更好的错误消息(Better error messages)**:Python 3.10改进了错误报告,提供了更清晰、更具体的错误信息,帮助开发者更快地定位和解决问题。 3. **PEP 626:精确的行号(Precise line numbers for debugging ...

    Python3.6 内置.py模块列表及功能概述.pdf

    15. **bdb**:调试器框架,可以用来构建自定义的Python调试器。 16. **binascii**:提供二进制和ASCII编码的二进制数据之间的转换工具,例如Base64编码。 17. **binhex**:用于编码和解码binhex4格式的文件,这是...

    Python bsddb模块操作Berkeley DB数据库介绍

    bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性能非常好,mysql的存储后端引擎都支持bdb的方式。这里简单介绍一些关于bsddb的使用方法。 bdb不同于一般的关系数据库,它存储的数据只能是以key和...

    Python2.5.4移植到arm-linux.pdf

    从Python官方网站下载2.5.4版本的源代码,然后进行如下操作: 1. 解压源代码: `tar -zxvf Python-2.5.4.tgz` 2. 清除之前的编译信息,并配置编译环境: `cd Python-2.5.4` `make clean` `./configure --prefix...

    python pdb调试(整理).docx

    - **pdb模块**包含了一个名为`Pdb`的类,它继承自`bdb.Bdb`。 - 提供了六种创建交互式调试会话的方法: - `pdb.run(statement[, globals[, locals]])`: 执行指定的语句块。`globals`和`locals`分别用于设置全局和...

    Berkeley DB je3.3版

    由于数据直接在内存中操作,避免了磁盘I/O的开销,因此在对高吞吐量和低延迟有严格要求的场景下,BDB je表现卓越。 3. **Java优化** 作为Java版本,Berkeley DB je3.3版完全兼容Java平台,提供了丰富的Java API,...

    Berkeley DB参考手册

    - **BerkeleyDB-Core-C-GSG.pdf**:这可能是“Core C编程指南”,详细介绍了如何使用C语言接口来操作BDB数据库,包括基本操作、事务处理、多线程编程等方面的内容。 - **BDB_Prog_Reference.pdf**:可能是“BDB程序...

    java berkeley-db demo

    Berkeley DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个...

    Berkeley DB数据库最新版

    BDB提供了C、C++、Java、Python等多种编程语言的API,方便开发者在各种环境中使用。API接口简洁,易于理解和集成到应用程序中。 **8. 安装与升级** 在提供的“db-6.0.20.msi”文件中,包含了Berkeley DB的安装程序...

    BerkeleyDB_Introduction.rar_Berkeley_Berkeley DB

    7. **跨平台兼容性**:由于其开源性质,BDB 可在多种操作系统上运行,包括 Linux、Unix、Windows 和 macOS,具有良好的跨平台兼容性。 **应用场景** 1. **配置管理**:BDB 可用于存储和管理软件应用的配置参数,...

    BerkeleyDB.6.2.38

    4. **多种API接口**:BDB提供了C、C++、Java、Python等多种语言的API接口,方便开发者在各种平台上使用。 5. **可移植性**:由于其轻量级和嵌入式的特点,BDB可以轻松地在不同的操作系统和硬件平台之间进行移植。 ...

Global site tag (gtag.js) - Google Analytics