2007-04-01から1ヶ月間の記事一覧

ZODB の最適化

from zope.app import zapi from ZODB.interfaces import IDatabase db = zapi.getUtility(IDatabase) db.pack()

ZODB にストアしたオブジェクトの weakref

ZODB はメモリを圧迫しないようにメモリ上にロードするオブジェクトを制限する機能がある。 このため、weakref と組み合わせると意図しないタイミングでオブジェクトの破棄が行われることがある。

ZODB にストアしたオブジェクトの __setstate__

super(class, self).__setstate__(state) を実行し、getattr/setattr/delattr またはアトリビュートを直接操作する。

ZODB にオブジェクトをストアするときの注意

ZODB に格納するオブジェクトは全て zope.proxy.removeAllProxies を適用すること。アノテーションも同様。