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

分享好友

×
取消 复制
如何使用ZODB
2022-04-18 14:00:16

如何使用ZODB

首先要下载安装python-zodb包,地址:http://packages.ubuntu.com/zh-cn/lucid/python-zodb

 

建立和断开与 ZODB 的连接

  1. from ZODB import FileStorage, DB
  2. import transaction
  3. class MyZODB(object):
  4. def __init__(self, path):
  5. self.storage = FileStorage.FileStorage(path)
  6. self.db = DB(self.storage)
  7. self.connection = self.db.open()
  8. self.dbroot = self.connection.root()
  9. def close(self):
  10. self.connection.close()
  11. self.db.close()
  12. self.storage.close()

 

存储简单 Python 数据

  1. from myzodb import MyZODB, transaction
  2. db = MyZODB('./var/Data.fs')
  3. dbroot = db.dbroot
  4. dbroot['a_number'] = 3
  5. dbroot['a_string'] = 'Gift'
  6. dbroot['a_list'] = [1, 2, 3, 5, 7, 12]
  7. dbroot['a_dictionary'] = { 1918: 'Red Sox', 1919: 'Reds' }
  8. dbroot['deeply_nested'] = {
  9. 1918: [ ('Red Sox', 4), ('Cubs', 2) ],
  10. 1919: [ ('Reds', 5), ('White Sox', 3) ],
  11. }
  12. transaction.commit()
  13. db.close()

 

获取简单数据

  1. from myzodb import MyZODB, transaction
  2. db = MyZODB('./var/Data.fs')
  3. dbroot = db.dbroot
  4. for key in dbroot.keys():
  5. print key + ':', dbroot[key]
  6. db.close()

 

使用 ZEO 提供远程访问

 

由于一次只有一个程序能够安全地打开“Data.fs”文件,ZEO 服务器是支持来自多个客户端的连接的方法。

 

可通过与不同的zeo服务器通信来连接zodb,启动plone4时,启动了三个进程,其中一个就为zeoserver

  1. from ZEO.ClientStorage import ClientStorage
  2. from ZODB import DB
  3. class MyRemoteZODB(object):
  4. def __init__(self, server, port):
  5. server_and_port = (server, port)
  6. self.storage = ClientStorage(server_and_port)
  7. self.db = DB(self.storage)
  8. self.connection = self.db.open()
  9. self.dbroot = self.connection.root()
  10. def close(self):
  11. self.connection.close()
  12. self.db.close()
  13. self.storage.close()
  14. mydb = MyRemoteZODB('localhost', 8100) //端口号可从zeo配置文件中读出
  15. dbroot = mydb.dbroot
  16. for key in dbroot.keys():
  17. print key + ':', dbroot[key]
  18. mydb.close()

 

 

详细参考: http://www.ibm.com/developerworks/cn/aix/library/au-zodb/

分享好友

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

ZODB
创建时间:2022-04-18 13:36:36
ZODB
展开
订阅须知

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

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

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

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~