O armazenamento em cache de dados usados ​​com frequência de seu aplicativo é uma jogada extremamente competente. Mas garantir que os dados armazenados em cache permaneçam sincronizados com o banco de dados Oracle é o dilema. O truque para superar isso é usar expirações de dados em que você adivinha o TTL (Time To Live) do item e depois o armazena em cache.

Não importa quão popular seja esse esquema, isso continua sendo um mero palpite sobre quanto tempo esse item permanecerá inalterado no banco de dados. E as suposições nem sempre são precisas. Se seu aplicativo for sensível a dados, onde a busca e o processamento de dados imprecisos refutam sua finalidade, o uso da expiração custará muito.

O que o salva dessa situação é usar um mecanismo de sincronização de banco de dados em seu cache, como NCache, que remove automaticamente os dados de cache correspondentes se for atualizado no banco de dados Oracle.

NCache Adicionar ao carrinho                 Dependência de cache no banco de dados               Técnicas de expiração de dados

 

utilização NCache para sincronizar com o Oracle Server

O Oracle Dependency usa notificações de eventos que notificam todos os clientes de banco de dados quando um conjunto de dados é alterado no banco de dados. Informações de back-end: NCache usa esse recurso para se registrar como cliente do Oracle Server. Isso significa que sempre que os dados forem alterados no conjunto de dados Oracle, NCache é notificado automaticamente. Usando essas informações, NCache mantém um mapa de todos os itens em cache com seus conjuntos de dados correspondentes. Assim, sempre que NCache é notificado de uma alteração, invalida o item de cache correspondente do cache e busca o atualizado na próxima vez que o aplicativo cliente solicitar.

sincronizar-ncache-oráculo

Figura: Sincronizar NCache com servidor Oracle

Vamos sincronizar NCache com servidor Oracle

Vou dar um exemplo simples de um aplicativo de comércio eletrônico (.NET Core baseado) cujo sucesso total reside na sua precisão. Milhares de clientes acessam este aplicativo para compras online a cada minuto, então os dados deste aplicativo foram armazenados em cache.

Agora, vamos pegar um cenário muito comum onde Cliente A comprou o último Xbox Series X que a loja tinha. O servidor de aplicativos remove a quantidade desse item do banco de dados, mas o cache ainda não tem conhecimento dessa alteração. Essa inconsistência leva à raiva do cliente quando Cliente B gosta do mesmo produto, paga por ele e é notificado com uma mensagem de pagamento bem-sucedida, mas não recebe seu Xbox Series X mais recente.

Aqui, para garantir que o aplicativo não enfrente problemas de integridade de dados toda vez que os dados forem alterados no banco de dados Oracle principal, NCache fornece suporte de Dependência Oracle.

Para usar esse recurso de dependência, NCache permite parametrizar sua consulta Oracle com OracleCacheDependência método que recebe valores de parâmetro em tempo de execução. Isso reduzirá o número de vezes que sua consulta precisa ser compilada no Oracle Server, melhorando o desempenho do aplicativo em dez vezes.

NCache Adicionar ao carrinho                 Dependência de cache no Oracle                     Configurar ambiente Oracle

 

Há muito mais que você pode fazer com OracleCacheDependency. Aqui está uma lista de alguns recursos muito úteis suportados com esta dependência do Oracle.

Recarregar automaticamente o item de cache por meio do provedor Read-Thru

O OracleCacheDependency é responsável por invalidar um item de cache assim que ele for alterado na fonte de dados. NCache fornece Provedor de fonte de apoio de leitura caso você queira que o cache não apenas invalide, mas também busque a versão mais recente do item alterado do servidor Oracle. Com Leia opção habilitada, NCache chama o Leia através provedor para buscar os dados atualizados sempre que o Oracle Server notificar o cache de uma alteração.

O código a seguir explica como você pode obter essa funcionalidade:

NCache Adicionar ao carrinho                 Dependência de cache no Oracle                     Provedor de leitura

 

Dependência Oracle baseada em procedimento armazenado

NCache suporta Dependência Oracle baseada em procedimento armazenado se sua preferência for manter todas as suas consultas Oracle dentro do banco de dados Oracle. Esses procedimentos armazenados são pré-compilados no servidor Oracle e executados muito mais rapidamente do que as consultas dinâmicas do Oracle.

Para criar um Stored Procedure no Oracle, veja este exemplo:

Chamar esse procedimento armazenado em seu aplicativo .NET é fácil. Use o snippet a seguir como exemplo.

 

NCache Adicionar ao carrinho                 Dependência de cache no Oracle                     Dependência Oracle usando procedimento armazenado

Por que sincronizar NCache com o Oracle Server?

Ninguém quer que seu aplicativo, no qual trabalhou tanto, falhe apenas porque está processando dados desatualizados. Você perde negócios e enfrenta dessa maneira. Mas NCache, para sua facilidade, fornece a você o Oracle Dependency que mantém seu cache sincronizado com seu banco de dados Oracle para garantir que o cache que você está usando para beneficiar você não falhe em vez disso.

NCache Adicionar ao carrinho                                Baixar NCache                          Comparação de edições