上一次例子,我们采用了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时,你需要理解椭圆曲线数学的基本概念,如基点、阶、点的加法等,并能够生成和操作密钥对。此外,SM2算法还需要支持不同的素域,这涉及到大整数运算和模运算。 接着,我们来看看SM3算法。SM3是...
开发人员可以使用C、C++、Java、Python等多种语言的API来访问和操作BDB数据库。BDB提供了丰富的示例代码和文档,帮助开发者快速上手。 总的来说,BDB数据库因其高效、灵活和可靠的特性,在许多需要高性能数据存储的...
2. 输入输出相关:文件输入输出(fileinput)、文件操作辅助模块(shutil)、临时文件处理(tempfile)、字符串输入输出(StringIO)、c语言风格的字符串输入输出(cStringIO)、内存映射文件(mmap)、用户定义的字典类型...
其次,BDB提供了多种数据访问接口,包括C、C++、Java和Python等,这使得它能够无缝集成到各种开发环境中。同时,BDB支持事务处理,确保了数据的一致性和完整性。通过ACID(原子性、一致性、隔离性和持久性)特性,...
BDB提供了丰富的API,包括C、C++、Java和Python等语言的接口,方便开发者根据项目需求选择合适的方式进行数据操作。 总的来说,BDB数据库9.0版本是一个强大、灵活且可靠的数据库解决方案,尤其适合需要高性能、高...
MySQL提供了多种存储引擎,如MyISAM(默认,适合Web和数据仓储)、InnoDB(事务处理,支持ACID,行级锁)、BDB(事务引擎,类似InnoDB)、Memory(存储在内存中,快速访问)、Merge(合并多个MyISAM表)、Archive...
### Python标准库3.7.3概述 Python标准库是Python语言的核心组成部分之一,它包含了大量预先...通过以上内容可以看出,Python标准库覆盖了从基础操作到高级应用的各个方面,为Python开发者提供了丰富的工具和资源。
2. **更好的错误消息(Better error messages)**:Python 3.10改进了错误报告,提供了更清晰、更具体的错误信息,帮助开发者更快地定位和解决问题。 3. **PEP 626:精确的行号(Precise line numbers for debugging ...
15. **bdb**:调试器框架,可以用来构建自定义的Python调试器。 16. **binascii**:提供二进制和ASCII编码的二进制数据之间的转换工具,例如Base64编码。 17. **binhex**:用于编码和解码binhex4格式的文件,这是...
bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性能非常好,mysql的存储后端引擎都支持bdb的方式。这里简单介绍一些关于bsddb的使用方法。 bdb不同于一般的关系数据库,它存储的数据只能是以key和...
从Python官方网站下载2.5.4版本的源代码,然后进行如下操作: 1. 解压源代码: `tar -zxvf Python-2.5.4.tgz` 2. 清除之前的编译信息,并配置编译环境: `cd Python-2.5.4` `make clean` `./configure --prefix...
- **pdb模块**包含了一个名为`Pdb`的类,它继承自`bdb.Bdb`。 - 提供了六种创建交互式调试会话的方法: - `pdb.run(statement[, globals[, locals]])`: 执行指定的语句块。`globals`和`locals`分别用于设置全局和...
由于数据直接在内存中操作,避免了磁盘I/O的开销,因此在对高吞吐量和低延迟有严格要求的场景下,BDB je表现卓越。 3. **Java优化** 作为Java版本,Berkeley DB je3.3版完全兼容Java平台,提供了丰富的Java API,...
- **BerkeleyDB-Core-C-GSG.pdf**:这可能是“Core C编程指南”,详细介绍了如何使用C语言接口来操作BDB数据库,包括基本操作、事务处理、多线程编程等方面的内容。 - **BDB_Prog_Reference.pdf**:可能是“BDB程序...
Berkeley DB(BDB)是一个高效的嵌入式数据库编程库,C语言、C++、Java、Perl、Python、Tcl以及其他很多语言都有其对应的API。Berkeley DB可以保存任意类型的键/值对(Key/Value Pair),而且可以为一个键保存多个...
BDB提供了C、C++、Java、Python等多种编程语言的API,方便开发者在各种环境中使用。API接口简洁,易于理解和集成到应用程序中。 **8. 安装与升级** 在提供的“db-6.0.20.msi”文件中,包含了Berkeley DB的安装程序...
7. **跨平台兼容性**:由于其开源性质,BDB 可在多种操作系统上运行,包括 Linux、Unix、Windows 和 macOS,具有良好的跨平台兼容性。 **应用场景** 1. **配置管理**:BDB 可用于存储和管理软件应用的配置参数,...
4. **多种API接口**:BDB提供了C、C++、Java、Python等多种语言的API接口,方便开发者在各种平台上使用。 5. **可移植性**:由于其轻量级和嵌入式的特点,BDB可以轻松地在不同的操作系统和硬件平台之间进行移植。 ...