当Web应用程序使用Sitecore等多个数据库时,如何写入数据库

时间:2014-01-17 20:12:57

标签: database sitecore

在Sitecore中,您基本上有三个数据库。 CoreMasterWeb数据库。

简单地说,Core数据库包含所有Sitecore设置。 Master数据库是创作数据库。所以它包含任何内容的所有版本。

然后在Sitecore中,您可以“发布”内容,并将每个内容的最新版本发布到Web数据库。

假设我有一个有新闻页面的网站。并且用户能够从网站编辑新闻项目(因此不能通过CMS编辑)。数据库在设置时会如何更新?

它可能会更新Web数据库,但是当我进入CMS时,我没有看到最新的更改,因为CMS从Master数据库读取,对吗?

这是否意味着它应该写两次?一次到Web数据库,一次到Master数据库?

任何人都可以告诉我它在Sitecore等中是如何工作的吗?


我想知道这个的原因是因为我正在考虑创建一个类似的数据库设置。我只是不确定如何解决这个问题。

3 个答案:

答案 0 :(得分:1)

当您有需要由网站访问者更新的项目时,您需要使用SitecoreService SOAP Web服务或创建您自己的在Master-instance上运行的自定义Web服务,并在更新后触发发布。

答案 1 :(得分:1)

嗯,Sitecore有一个发布步骤。当用户在Sitecore中发布时,它会在该点更新Web数据库。如果你想构建一个类似的系统,我只需要在Master数据库中存储项目的所有版本,并且只有当用户选择发布时,才能将最新版本复制到Web数据库。

答案 2 :(得分:0)

如果您的网站   - 产生很多评论   - 不断生成评论   - 使用多个内容传送服务器   - 要求CMS用户管理

我不会将评论存储为内容项。 原因是HTML缓存和发布行为。

在高容量网站上,您肯定会使用html缓存来获得最佳性能。如果需要发布以显示注释,则需要频繁发布操作,因此经常清除html缓存。 你不要那样: - )

DMS实施后的建模是最安全的(不是最便宜的,Datatables不是我现在推荐的东西),将内容存储在一个单独的数据库中,可能使用排队来防止在事情变得繁忙时出现重载。