Como funciona a colocação em cache do lado do servidor no Power Pages
Para melhorar a escalabilidade e o desempenho, os sites do Power Pages colocam em cache os dados consultados do Microsoft Dataverse. Esta colocação em cache é efetuada no servidor da aplicação para todos os dados de negócio e metadados do site, sendo diferente da colocação em cache da rede de entrega de conteúdos de recursos estáticos.
A colocação em cache do lado do servidor é feita para dois tipos de tabelas descritas abaixo:
Tabelas de metadados/configuração
As tabelas de metadados/configuração representam todas as tabelas que armazenam informações de configuração de sites, como páginas web, modelos web, fragmentos de conteúdos e outros.
As tabelas seguintes são consideradas como tabelas de configuração . Esta lista está fixa e não pode ser modificada através de qualquer configuração.
Nota
- As tabelas utilizadas para a configuração do site dependem se o site foi configurado utilizando o modelo de dados padrão ou avançado. Consulte Modelo de dados avançado para obter mais informações.
- Estas tabelas não podem ser modificadas.
Tabela de sistema | Tabela virtual do modelo de dados avançado | Tabela do modelo de dados padrão |
---|---|---|
powerpagesite | mspp_website | adx_website |
powerpagesitelanguage | mspp_websitelanguage | adx_websitelanguage |
powerpagecomponent | mspp_columnpermission mspp_columnpermissionprofile mspp_contentsnippet mspp_entityform mspp_entityformmetadata mspp_entitylist mspp_entitypermission mspp_pagetemplate mspp_pollplacement mspp_publishingstate mspp_publishingstatetransitionrule mspp_redirect mspp_shortcut mspp_sitemarker mspp_sitesetting mspp_webfile mspp_webform mspp_webformmetadata mspp_webformstep mspp_weblink mspp_weblinkset mspp_webpage mspp_webpageaccesscontrolrule mspp_webrole mspp_websiteaccess mspp_websitelanguage mspp_webtemplate |
adx_columnpermission adx_columnpermissionprofile adx_contentsnippet adx_entityform adx_entityformmetadata adx_entitylist adx_entitypermission adx_pagetemplate adx_pollplacement adx_publishingstate adx_publishingstatetransitionrule adx_redirect adx_shortcut adx_sitemarker adx_sitesetting adx_webfile adx_webform adx_webformmetadata adx_webformstep adx_weblink adx_weblinkset adx_webpage adx_webpageaccesscontrolrule adx_webrole adx_websiteaccess adx_websitelanguage adx_webtemplate |
Todos os dados da tabela de configuração são iguais para todos os utilizadores e são colocados automaticamente em cache. Esta cache de dados de configuração para qualquer tabela é atualizada automaticamente quando algum registo é alterado. A atualização automática de cache tem um contrato de nível de serviço de 15 minutos. Qualquer alteração feita num registo de configuração estará disponível automaticamente no site dentro de 15 minutos.
No entanto, no caso de as alterações ao registo serem imediatamente necessárias, pode limpar explicitamente a cache utilizando as seguintes opções;
Opção | Details |
---|---|
Estúdio de design | A seleção da opção Pré-visualização no estúdio de design irá limpar a cache. |
/_services/about página no site |
Utilize a opção limpar configuração ou limpar cache navegando para o site com '/_services/about' anexado ao URL do site. Para ver estas opções, o utilizador deve ter uma função web com todas as permissões de acesso ao site atribuídas. |
Nota
As atualizações aos dados nas tabelas de configuração ou a invocar as ações limpar cache ou config não devem ser executadas durante as horas fora de pico. Alterações frequentes ou em excesso à tabela podem afetar negativamente o desempenho do site.
Todas as tabelas de configuração têm de estar ativadas para que seja notificado da alteração na organização. A notificação de alteração está definida corretamente por predefinição e não deve ser modificada.
Tabelas de dados
As tabelas de dados representam todas as tabelas do Dataverse que armazenam dados de negócio apresentados no site. Normalmente, estes dados são colocados em cache por utilizador, exceto em casos específicos, como utilizadores anónimos ou tabelas com permissões globais. Além disso, apenas os dados acedidos pelo utilizador no site são colocados em cache e não os dados para a tabela completa.
Esta cache é atualizada através de vários mecanismos descritos abaixo:
Qualquer registo de uma tabela (ou uma tabela relacionada) é criado, atualizado ou eliminado no site por qualquer utilizador do site. A ação irá limpar instantaneamente a cache para todos os utilizadores do site para aquela tabela específica.
A cache é automaticamente limpa em 15 minutos, mesmo que não sejam feitas alterações.
A cache é limpa manualmente através das seguintes opções:
Opção Details Estúdio de design A seleção da opção Pré-visualização no estúdio de design irá limpar a cache. /_services/about
página no siteUtilize a opção limpar configuração ou limpar cache navegando para o site com '/_services/about' anexado ao URL do site. Para ver estas opções, o utilizador deve ter uma função web com todas as permissões de acesso ao site atribuídas.
Nota
A opção limpar cache deve ser utilizada raramente, pois limpa a cache para todas as tabelas de dados, bem como as tabelas de configuração, podendo causar lentidão temporária. No caso de site ativo com utilização pesada, isto pode causar problemas de desempenho aos utilizadores.
FAQs do
Posso alterar a duração da atualização da cache de 15 minutos para uma menor duração?
Não. O SLA para a atualização da cache mantém-se em 15 minutos. Todas as alterações do Dataverse vão refletir-se no site no espaço de 15 minutos para as tabelas de dados e as tabelas de configuração.
Estou a usar plug-ins ou fluxos de trabalho para atualizar os dados noutras tabelas e preciso que estas alterações de dados sejam imediatamente refletidas no meu site.
Esta abordagem de conceção não é recomendada. Exceto o registo primário onde a ação de criação ou atualização é acionada, a reflexão de dados do Dataverse para os sites nunca é garantida como imediata.
Existe alguma diferença na colocação em cache entre os sites baseados na capacidade e os portais de suplementos?
Não
Quanto tempo demora para as alterações se refletirem de um site para o Dataverse?
Imediatamente, desde que a atualização altere um registo primário e não se baseie em alterações indiretas aos dados através de plug-ins ou fluxos de trabalho pós-operação.