ele sincroniza com o banco de dados automaticamente quando há uma alteração nos dados no banco de dados
Não, não.
teremos que implementar a estratégia de sincronização, se sim, qual é a melhor maneira de fazê-lo.
Isso vai depender do seu caso particular. Normalmente, os caches são sincronizados de duas maneiras comuns:
-
Dados armazenados em cache com expiração . Depois que os dados armazenados em cache expiram, um processo em segundo plano adiciona novos dados ao cache e assim por diante. Normalmente há dados que serão atualizados em intervalos diferentes:10 minutos, 1 hora, todos os dias...
-
Dados armazenados em cache sob demanda. Quando um usuário solicita alguns dados, essa solicitação passa pela estrada não armazenada em cache e essa solicitação armazena o resultado no cache, e um número limitado de solicitações subsequentes lerá os dados armazenados em cache diretamente se o cache estiver disponível. Essa abordagem também pode cair no número 1 em termos de intervalo de invalidação de cache.
Agora acredito que você tenha detalhes suficientes para pensar qual poderia ser sua melhor estratégia no seu caso particular!