Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-12-20 GMT+08:00

Como o DCS exclui chaves expiradas?

Pergunta

Quais são as regras para a exclusão programada de chaves expiradas diariamente? Posso personalizar as regras?

Mecanismos para excluir chaves expiradas

  • Exclusão inerte: a estratégia de exclusão é controlada no loop de eventos de I/O principal. Antes de um comando de leitura/gravação ser executado, uma função é chamada para verificar se a chave a ser acessada expirou. Se tiver expirada, ela será excluída e uma resposta será retornada indicando que a chave não existe. Se a chave não tiver expirada, a execução do comando será retomada.
  • Exclusão agendada: uma função de evento de tempo é executada em certos intervalos. Cada vez que a função é executada, uma coleção aleatória de chaves é verificada e as chaves expiradas são excluídas.

    Para evitar bloqueios prolongados no thread principal do Redis, nem todas as chaves são verificadas em cada evento de tempo. Em vez disso, uma coleção aleatória de chaves é verificada a cada vez. Como resultado, a memória usada por chaves expiradas não pode ser liberada rapidamente.

Soluções

  • Configure tarefas agendadas de análise de teclas de atalho consultando Análise de teclas de atalho ou use o comando SCAN para percorrer todas as chaves em uma base agendada e remover chaves expiradas da memória.
  • Configure uma tarefa agendada para verificar todos os nós principais da instância. Todas as chaves serão verificadas e o Redis determinará se as chaves expiraram. Chaves expiradas serão liberadas. Para obter detalhes, consulte Verificação de chaves expiradas.

Análise de tecla grande, análise de tecla de atalho e varredura de chave expirada Perguntas frequentes

more