Database 当web应用程序使用多个数据库(如Sitecore)时,如何写入数据库

Database 当web应用程序使用多个数据库(如Sitecore)时,如何写入数据库,database,sitecore,Database,Sitecore,在Sitecore中,基本上有三个数据库。Core、Master和Web数据库 简单地说,Core数据库包含所有Sitecore设置。Master数据库是创作数据库。因此,它包含任何内容的所有版本 然后在Sitecore中,您可以“发布”内容,它会将每个内容的最新版本发布到Web数据库中 因此,假设我有一个带有新闻页面的网站。用户可以编辑网站上的新闻(所以不能通过CMS)。当数据库设置为这样时,它将如何更新 它可能会更新Web数据库,但是当我进入CMS时,我看不到最新的更改,因为CMS从主数据库

在Sitecore中,基本上有三个数据库。
Core
Master
Web
数据库

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

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

因此,假设我有一个带有新闻页面的网站。用户可以编辑网站上的新闻(所以不能通过CMS)。当数据库设置为这样时,它将如何更新

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

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

有人能告诉我这在Sitecore或类似的系统中是如何工作的吗



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

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

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

如果您的站点 -生成大量评论 -持续生成评论 -使用多个内容交付服务器 -要求CMS用户对其进行管理

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

在高容量站点上,您肯定会使用html缓存来实现最佳性能。如果需要发布来显示注释,则需要频繁的发布操作,从而经常清除html缓存。 你不想:-)

DMS实现后的建模是最安全的(不是最便宜的,我现在不推荐Datatables),将内容存储在单独的数据库中,如果事情繁忙,可能会使用队列来防止过载。

您也可以使用,但仍必须按照您所说的回拨CMS实例。