2015-06-19 68 views

回答

4

缺省情況下的配方包括temporary storage service存儲會話數據:

臨時文件夾是被用於暫時存儲對象的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> 

其與缺省session management setup for Zope對應。

我一直避免使用Zope的會話,因爲它們很容易成爲瓶頸(臨時存儲上的衝突負載),而是選擇將所有內容都存儲在cookie中。如果你真的需要服務器端會話存儲,使用Beaker(通過collective.beaker可能是一個更好的選擇。

更妙的是,使用Products.BeakerSessionDataManager到默認的Zope會話管理器換出一個由燒杯支持。

+0

所以,更好的不要使用這個選項,對吧? – hvelarde

+0

@hvelarde:除非你有特殊的需要把它換掉 –

+0

你可能想提一下https://pypi.python.org/pypi/Products.BeakerSessionDataManager它提供了一個嵌入式使用collective.beaker替換標準Zope會話 –