好的,我刚刚在Umbraco的杂草中度过了6-8周,并对我们的站点和环境做了一些修复/改进。我花了很多时间试图纠正更低级别的Umbraco缓存相关问题。现在回想一下我的经历,我仍然不知道以下几点之间的概念差异是什么:
再次感谢,
Devin
发布于 2016-04-22 08:27:26
检查指数是伞形科含量的索引
因此,当您创建/更新/删除内容时,将对当前内容信息进行索引。
这个索引是用来搜索的??在引擎盖下,它是lucene索引umbraco后端使用这些索引进行搜索。
如果需要,可以创建自己的索引。
更多信息结帐,概述和解释-“彼得·格雷戈里的检查”
umbraco.config和内存中的缓存xml实际上是相同的。
前端UmbracoHelper api从缓存获取内容,而不是从数据库获取缓存缓存来自umbraco.config。
CMSContentXML以xml的形式包含每个内容的信息
因此,从本质上讲,这个xml表示节点内容的所有信息。
所以简单地说,它们代表了三件事:
编辑将更好地澄清罗伯特·福斯特的评论和“UmbracoHelper vs ExamineManager”
关于umbraco.config和CMSContentXML表,@robert-foster注释
umbraco.config只存储所有已发布内容的最新版本;内存缓存是该文件的缓存版本;cmscontentxml表存储所有内容的表示,主要用于预览模式--每次保存内容项时都更新它。它还存储其他内容类型的表示。
向UmbracoHelper vs ExamineManager问好
UmbracoHelper api主要从内存缓存中获取它的内容--当定位直接内容时(例如当您知道所需内容的id时,只需调用Umbraco.TypedContent(id) ),它工作得最好
但你从哪里得到你想要的身份证呢?换句话说,如果您想查找所有包含"Test“字的内容的属性标题,则可以使用”检查“来搜索它。因为检查实际上是lucene包装器,所以它将是快速和高效的。
虽然您可以通过像Umbraco.TypedContent(id).Children这样的方法遍历树,然后使用linq来过滤结果,但是我认为这是在内存中使用linq到对象的,所以它没有lucene那么有效和更好。
所以我个人认为:
@robert-foster在评论中提到了一件事,我不知道的是,UmbracoHelper提供了搜索方法,它是检查的包装器,所以如果更熟悉这个api,就使用它。
最后,如果上述任何说法都是错误的或不正确的,请帮助我澄清,以便任何人以后看都不会弄错,谢谢大家。
https://stackoverflow.com/questions/36779183
复制相似问题