首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Umbraco缓存结构的差异?

Umbraco缓存结构的差异?
EN

Stack Overflow用户
提问于 2016-04-21 19:50:00
回答 1查看 611关注 0票数 2

好的,我刚刚在Umbraco的杂草中度过了6-8周,并对我们的站点和环境做了一些修复/改进。我花了很多时间试图纠正更低级别的Umbraco缓存相关问题。现在回想一下我的经历,我仍然不知道以下几点之间的概念差异是什么:

  • 检验指标
  • umbraco.config
  • 内存中缓存的xml文件(据说类似于umbraco.config)
  • CMSContentXML表

再次感谢,

Devin

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-22 08:27:26

检查指数是伞形科含量的索引

因此,当您创建/更新/删除内容时,将对当前内容信息进行索引。

这个索引是用来搜索的??在引擎盖下,它是lucene索引umbraco后端使用这些索引进行搜索。

如果需要,可以创建自己的索引。

更多信息结帐,概述和解释-“彼得·格雷戈里的检查”

umbraco.config和内存中的缓存xml实际上是相同的。

前端UmbracoHelper api从缓存获取内容,而不是从数据库获取缓存缓存来自umbraco.config。

CMSContentXML以xml的形式包含每个内容的信息

因此,从本质上讲,这个xml表示节点内容的所有信息。

所以简单地说,它们代表了三件事:

  1. 检查用于搜索。
  2. umbraco.config缓存数据-保存到DB的往返行程
  3. CMSContentXML存储内容的全部信息。

编辑将更好地澄清罗伯特·福斯特的评论和“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那么有效和更好。

所以我个人认为:

  1. 在搜索(定位)内容时使用检查,因为您可以使用适当的搜索引擎lucene的功能。
  2. 从搜索结果中获得id后,使用UmbracoHelper将内容id的完整发布内容表示形式转换为强类型模型,并处理数据。

@robert-foster在评论中提到了一件事,我不知道的是,UmbracoHelper提供了搜索方法,它是检查的包装器,所以如果更熟悉这个api,就使用它。

最后,如果上述任何说法都是错误的或不正确的,请帮助我澄清,以便任何人以后看都不会弄错,谢谢大家。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36779183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档