我们已将Sitecore升级到7.2,我们意识到Sitecore的规模正在增长。占用的空间量的大约1/5基于存储的高速缓存/二进制代码。例如,当我们更新图像时,Sitecore仍将先前图像存储在其内存中,这会增加MB总数。我很好奇有没有办法在发布时清除任何以前的媒体文件,或者Sitecore中是否有允许存储文件的特定数量版本的设置?我知道在右上角有一个存储整个文件以前版本的箭头,这不是我担心的,我更担心媒体存储或二进制内存。
答案 0 :(得分:3)
出于性能原因,Sitecore将媒体项缓存到/App_Data/MediaCache
,并将旅程保存回数据库。默认情况下,运行CleanupAgent时,任何超过90天的媒体都会被删除:
<agent type="Sitecore.Tasks.CleanupAgent" method="Run" interval="06:00:00">
<!-- Specifies files to be cleaned up.
If rolling="true", [minCount] and [maxCount] will be ignored.
[minAge] and [maxAge] must be specified as [days.]hh:mm:ss. The default value
of [minAge] is 30 minutes.
[strategy]: number of files within hour, day, week, month, year
[recursive=true|false]: descend folders?
-->
<files hint="raw:AddCommand">
...
<remove folder="/App_Data/MediaCache" pattern="*.*" maxAge="90.00:00:00" recursive="true"/>
</files>
你可以减少maxAge
所以减少强迫它更频繁地清理的东西。磁盘空间虽然便宜,但显然取决于媒体库的大小。如果它非常大,你应该考虑using a CDN to serve your media。
关于版本控制,您可以拥有无限数量的版本,但Sitecore建议每个项目不要保留10个以上的版本。
默认情况下,使用/sitecore/templates/System/Media/Unversioned
模板上传媒体项目,在这种情况下,每次上传新图像时都会覆盖图像。如果您使用“高级上传”对话框并选择&#34;版本化&#34;选项或在配置中设置Media.UploadAsVersionableByDefault="true"
然后将使用/sitecore/templates/System/Media/Versioned
模板,在这种情况下,您最终可以使用多个版本。检查正在使用的模板,如果不需要版本,请检查配置。
您可以implement a rule to deleted old versions when an item is saved或执行计划任务来执行相同操作。另请查看Sitecore Version Pruner模块,但我怀疑您不希望将文件序列化到磁盘,因为您最终会遇到相同的磁盘空间问题。