在 plone 中,如果文件 (或任何内容) 被修改了 4 次,那么会存在多少个物理副本?我使用的是 plone 4.1,其中文件和图像存储在文件系统中。
在 Plone 4.1 中,内容(包括文件和图像)的版本管理依赖于 Zope Object Database (ZODB),而文件和图像的数据存储在文件系统中通常通过 Blob Storage 进行管理。这里需要明确以下两个方面:
Plone 使用 历史版本 (History) 来记录内容的更改。每次对文件或内容进行修改,Plone 会创建一个新的版本记录,这些版本是逻辑副本,并存储在 ZODB 中。
如果文件被修改 4 次: - 将存在 5 个逻辑版本(1 个原始版本 + 4 个修改版本)。 - 这些版本是基于事务快照存储的,并不代表完全独立的物理副本。
对于文件和图像,Plone 使用 Blob Storage 将二进制数据存储在文件系统中。当修改文件时,Blob Storage 通常会为每个新版本创建一个独立的物理副本:
plone.app.versioningbehavior
在 Plone 4.1 中,如果一个文件被修改 4 次: - 将存在 5 个逻辑版本。 - Blob Storage 中将存在 5 个物理副本(假设每次修改都更改了文件内容)。 - 如果仅更改元数据(而非文件内容本身),则物理副本数量可能少于 5 个。
可以通过检查文件系统中 Blob 文件的位置(通常位于 var/blobstorage 文件夹)来验证实际的物理副本数量。
var/blobstorage