如何使用ZODB
首先要下载安装python-zodb包,地址:http://packages.ubuntu.com/zh-cn/lucid/python-zodb
建立和断开与 ZODB 的连接
from ZODB import FileStorage, DB import transaction class MyZODB(object): def __init__(self, path): self.storage = FileStorage.FileStorage(path) self.db = DB(self.storage) self.connection = self.db.open() self.dbroot = self.connection.root() def close(self): self.connection.close() self.db.close() self.storage.close()
存储简单 Python 数据
from myzodb import MyZODB, transaction db = MyZODB('./var/Data.fs') dbroot = db.dbroot dbroot['a_number'] = 3 dbroot['a_string'] = 'Gift' dbroot['a_list'] = [1, 2, 3, 5, 7, 12] dbroot['a_dictionary'] = { 1918: 'Red Sox', 1919: 'Reds' } dbroot['deeply_nested'] = { 1918: [ ('Red Sox', 4), ('Cubs', 2) ], 1919: [ ('Reds', 5), ('White Sox', 3) ], } transaction.commit() db.close()
获取简单数据
from myzodb import MyZODB, transaction db = MyZODB('./var/Data.fs') dbroot = db.dbroot for key in dbroot.keys(): print key + ':', dbroot[key] db.close()
使用 ZEO 提供远程访问
由于一次只有一个程序能够安全地打开“Data.fs”文件,ZEO 服务器是支持来自多个客户端的连接的唯一方法。
可通过与不同的zeo服务器通信来连接zodb,启动plone4时,启动了三个进程,其中一个就为zeoserver
from ZEO.ClientStorage import ClientStorage from ZODB import DB class MyRemoteZODB(object): def __init__(self, server, port): server_and_port = (server, port) self.storage = ClientStorage(server_and_port) self.db = DB(self.storage) self.connection = self.db.open() self.dbroot = self.connection.root() def close(self): self.connection.close() self.db.close() self.storage.close() mydb = MyRemoteZODB('localhost', 8100) //端口号可从zeo配置文件中读出 dbroot = mydb.dbroot for key in dbroot.keys(): print key + ':', dbroot[key] mydb.close()
详细参考: http://www.ibm.com/developerworks/cn/aix/library/au-zodb/
相关推荐
使用ZODB还是在关系数据库上使用ORM,需要做出一些重要的权衡。例如,ZODB特别适合于存储动态、快速变化的数据,而传统的关系数据库则在事务完整性、一致性和成熟的关系数据库管理系统(RDBMS)生态上更有优势。 ...
同时,安装和使用ZODB通常涉及到Python的pip工具,通过命令行执行`pip install ZODB3-3.10.0b6`即可完成安装。 总的来说,ZODB3-3.10.0b6.tar.gz是一个面向Python开发者的对象数据库解决方案,它提供了便捷的数据...
使用ZODB,开发者可以创建自定义的Python类并直接将它们存储在数据库中,通过简单的对象操作即可实现数据的增删改查。此外,ZODB还提供了事务管理功能,确保数据的一致性和完整性。事务可以确保在发生错误时能够回滚...
- **创建数据库**:使用`ZODB.FileStorage.FileStorage`创建一个文件存储,这是ZODB的基本数据容器。 - **连接数据库**:通过`ZODB.DB.open`函数打开存储,然后获取数据库连接。 - **工作事务**:使用`connection....
3. **缓存机制**:ZODB使用缓存技术提高性能,只在必要时才读取或写入磁盘,减少了I/O操作。 4. **数据版本控制**:ZODB提供版本控制功能,可以追踪对象的历史修改,方便回滚和比较不同版本。 5. **分布式存储**:...
ZODB3-3.10.5-py2.7-win32.egg是一个针对Python 2.7版本、在Windows 32位系统上使用的特定版本的ZODB库。这个库的名称中的“3.10.5”代表了其版本号,这是ZODB3的一个稳定版本。 **ZODB的核心特性** 1. **对象...
5. 安装完成后,你可以在Python环境中导入并使用ZODB。 总之,ZODB是Python中的一个强大工具,特别适合那些希望将数据存储和业务逻辑紧密集成的项目。尽管这个版本较旧,但它仍然是Python 2.x时代的一个重要组成...
以下是一个简单的使用ZODB的例子,演示了如何创建数据库、添加对象以及进行基本的操作。 ```python from ZODB import FileStorage, DB import transaction # 创建一个存储对象 storage = FileStorage.FileStorage...
RelStorage是Python中一个重要的持久化存储库,主要用于ZODB(Zope Object Database)的数据管理。这个库的主要功能是提供高效、可靠的方式来存储和检索...如果你正在使用或计划使用ZODB,那么RelStorage绝对值得考虑。
总的来说,"zodbtools"是一个针对ZODB的实用工具集,对于那些在Python项目中使用ZODB的人来说,它提供了一个增强ZODB功能的途径。通过理解其工作原理和使用方法,我们可以更好地利用这个库来优化数据库操作,提升...
ZODB通过使用Object Relational Mapping(ORM)技术,使得对象和数据库之间的交互变得简单直接。 **cp38和cp38-manylinux1_i686** 在`zodbpickle-1.1-cp38-cp38-manylinux1_i686.whl`这个文件名中,`cp38`表示它是为...
综上所述,"T-my_python_lib.zip"包含的是一份包含自动化功能的Python工具库,可能涉及到ZODB对象数据库的使用,且在不断的开发和完善中。开发者通过创建和保存不同时间点的版本来跟踪和管理项目进度。这个库可以...
ZODB是Python的一个对象数据库,它可以将Python对象直接持久化到磁盘,而RelStorage则提供了与关系型数据库之间的桥梁,使得在使用ZODB时能够充分利用SQL数据库的性能和扩展性。 "3.0b1"表示这是RelStorage的3.0预...
总的来说,RelStorage是Python开发者在使用ZODB时的一个强大工具,尤其适合那些需要高性能、高可用性和扩展性的项目。通过下载并安装“RelStorage-3.1.0-cp27-cp27m-manylinux2010_x86_64.whl”,开发者可以立即利用...
这个库主要设计用于Zope内容管理系统和其他使用ZODB(Zope Object Database)的应用,但也可以独立于这些框架使用。 描述中提到“资源全名:persistent-4.7.0-cp37-cp37m-manylinux1_x86_64.whl”,确认了这是`...
RelStorage是Python中的一款强大的对象关系映射(ORM)...如果你正在使用或考虑使用ZODB作为数据存储,RelStorage是一个值得考虑的增强工具。安装和使用这个库时,建议先阅读README和文档,了解其配置选项和最佳实践。
Plone,作为一个强大的内容管理系统,以其灵活性和可扩展性闻名,但在默认情况下,它使用的是ZODB(Zope Object Database)作为其数据存储机制。然而,当项目需求涉及到与传统关系型数据库如MySQL交互时,ZMySQLdb就...
资源分类:Python库 所属语言:Python 资源全名:ZODB3-3.10.0b4.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
总结来说,"persistent"库是Python中处理持久化存储的重要工具,尤其在使用ZODB进行数据管理时不可或缺。这个特定的版本是针对Python 3.5和64位Windows系统的,通过.whl文件形式提供,方便用户快速、便捷地安装和...
4. **ZODB集成**:对于使用ZODB作为持久化存储的项目,Transaction是不可或缺的工具,它提供了与ZODB的无缝集成,使得在Zope应用中处理事务变得简单。 5. **兼容性广泛**:Transaction不仅限于ZODB,还支持其他遵循...