在plone.recipe.zope2instance中,有一个名为的选项zodb-temporary-storage,用于替换Zope的默认临时存储定义。
什么时候推荐?有哪些优点和缺点?
默认情况下,配方包括用于存储会话数据的临时存储服务:
临时文件夹是Zope文件夹,用于临时存储对象。临时文件夹的行为几乎与常规文件夹完全一样,但有两个重要区别:
- 重新启动Zope时,临时文件夹中包含的所有内容都会消失。(临时文件夹的内容存储在RAM中)。
- 您无法撤消对存储在临时文件夹中的对象采取的操作。
这对于高度易变的会话数据非常有用,但是,例如,如果您在群集中运行Zope,则可能要换出存储,以在整个群集中共享数据。
使用的默认配置是:
<zodb_db temporary>
# Temporary storage database (for sessions)
<temporarystorage>
name temporary storage for sessioning
</temporarystorage>
mount-point /temp_folder
container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db>
Run Code Online (Sandbox Code Playgroud)
我一直避免使用Zope的会话,因为它们很容易成为瓶颈(临时存储中有大量冲突),而是选择将所有内容存储在cookie中。如果您确实需要服务器端会话存储,则使用Beaker(通过via collective.beaker可能是更好的选择。
更好的是,用于Products.BeakerSessionDataManager将默认的Zope会话管理器换成由Beaker支持的会话管理器。
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |