Como o cache do lado do servidor funciona no Power Pages
Para melhorar a escalabilidade e o desempenho, os sites do Power Pages armazenam em cache os dados que são consultados no Microsoft Dataverse. Esse cache é feito no servidor de aplicativos para todos os dados de negócios e metadados do site e é diferente do cache de recursos estáticos baseado em navegador ou rede de distribuição de conteúdo.
O cache do lado do servidor é feito para dois tipos de tabelas descritos abaixo:
Tabelas de metadados/configuração
As tabelas de metadados/configuração representam todas as tabelas que armazenam informações de configuração do site, como páginas da web, modelos da web, trechos de conteúdo e outros.
As tabelas a seguir são consideradas como tabelas de configuração. Essa lista é fixa e não pode ser modificada por nenhuma configuração.
Observação
- As tabelas usadas para configuração do site dependerão se o site foi configurado usando o modelo de dados padrão ou aprimorado. Consulte Modelo de dados aprimorado para mais informações.
- Essas tabelas não podem ser modificadas.
Tabela do sistema | Tabela virtual de modelo de dados aprimorada | Tabela de 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 usuários e são armazenados em cache automaticamente. Esse cache de dados de configuração para qualquer tabela é atualizado automaticamente quando qualquer registro é alterado. A atualização automática de cache tem um contrato de nível de serviço de 15 minutos. Qualquer alteração feita para um registro de configuração estaria automaticamente disponível no site em 15 minutos.
No entanto, caso as alterações de registro sejam necessárias imediatamente, você pode limpar explicitamente o cache usando as seguintes opções:
Opção | Details |
---|---|
Estúdio de design | Selecionar a opção Pré-visualização no estúdio de design limpará o cache. |
/_services/about página no site |
Utilize a opção limpar configuração ou limpar cache navegando até o site com '/_services/about' anexado à URL do site. Para visualizar essas opções, o usuário deve ter um webrole com todas as permissões de acesso ao site atribuídas. |
Observação
Atualizações nos dados em tabelas de configuração ou invocação do cache limpo ou ações de configuração devem ser realizadas fora dos horários de pico. Alterações frequentes ou em excesso na tabela podem afetar negativamente o desempenho do site.
Todas as tabelas de configuração devem ser habilitadas para notificação de alteração na organização. A notificação de alteração é definida corretamente por padrã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ócios exibidos no site. Esses dados são normalmente armazenados em cache por usuário, exceto em certos casos, como usuários anônimos ou tabelas com permissão global. Além disso, apenas os dados acessados pelo usuário no site são armazenados em cache, e não os dados de toda a tabela.
Esse cache é atualizado por meio de vários mecanismos descritos abaixo:
Todos os registros de uma tabela (ou tabela relacionada) podem ser criados, atualizados ou excluídos no site por qualquer usuário. A ação limpará instantaneamente o cache de todos os usuários do site para essa tabela específica.
O cache é limpo automaticamente em 15 minutos, mesmo que nenhuma alteração seja feita.
O cache é limpo manualmente por meio das seguintes opções:
Opção Details Estúdio de design Selecionar a opção Pré-visualização no estúdio de design limpará o cache. /_services/about
página no siteUtilize a opção limpar configuração ou limpar cache navegando até o site com '/_services/about' anexado à URL do site. Para visualizar essas opções, o usuário deve ter um webrole com todas as permissões de acesso ao site atribuídas.
Observação
A opção de limpar cache deve ser raramente usada, pois limpa o cache de todas as tabelas de dados, bem como tabelas de configuração e pode causar lentidão temporária. Para sites ativos com uso intenso, isso pode levar os usuários a enfrentar problemas de desempenho.
Perguntas frequentes do
Posso alterar a duração da atualização do cache de 15 minutos para uma duração menor?
Não. O SLA para atualização do cache permanece 15 minutos. Todas as alterações do Dataverse serão refletidas no site em até 15 minutos para tabelas de dados e tabelas de configuração.
Estou usando plug-ins ou fluxos de trabalho para atualizar dados em outras tabelas e preciso que essas alterações de dados reflitam imediatamente em meu site.
Essa abordagem de design não é recomendada. Exceto o registro primário em que 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 no armazenamento em cache entre sites baseados em capacidade e portais complementares?
Não.
Quanto tempo leva para as alterações serem refletidas dos sites para o Dataverse?
Imediatamente, desde que a atualização altere um registro primário e não seja baseada em alterações indiretas de dados usando fluxos de trabalho ou plug-ins de pós-operação.