Quando você cria um cache você também alocar seu tamanho (sujeito à memória disponível em sua máquina). No entanto, há chances de que esse tamanho alocado em algum momento fique cheio. Quando isso acontecer, você não poderá realizar nenhuma operação de gravação nesse cache, mas ainda poderá realizar operações de leitura.
Para lidar com esse problema, NCache permite habilitar o despejo em seu cluster de cache. Esse recurso remove automaticamente os dados do cluster de cache com base nos três algoritmos disponíveis (explicados posteriormente nesta dica). Mas você não deve habilitar o despejo nos seguintes cenários:
Nesses cenários, em vez de despejo, a melhor opção que você tem é aumentar o tamanho do seu cache, o que pode ser feito em tempo de execução, e você também pode ser notificado quando o cache ficar cheio. Há duas maneiras de habilitar o despejo para seu cluster de cache, elas estão descritas abaixo:
Você pode habilitar o despejo para seu cache no momento da criação do cache usando o NCache Web Manager. Apenas siga os passos abaixo:
Você também pode habilitar o despejo para um cache que já foi criado usando o NCache Web Manager. Certifique-se de que seu(s) cache(s) está(ão) parado(s). Para habilitar o despejo para caches já criados, basta seguir os passos abaixo:
NCache fornece três políticas de despejo para você escolher. Eles são explicados abaixo:
Essa política de despejo coloca um carimbo de data/hora nos objetos armazenados em cache. O carimbo de data/hora é atualizado sempre que o objeto é acessado. Ao despejar, os objetos com o carimbo de data/hora mais antigo são escolhidos. No caso de dois objetos terem o mesmo timestamp, será feita uma seleção aleatória entre os dois. Por padrão, os itens são despejados com base no uso menos recente.
Essa política usa um contador que conta o número de vezes que um objeto é acessado. No momento do despejo, os objetos com a contagem de acesso mais baixa serão despejados primeiro. Nesta política, também, uma seleção aleatória será feita entre os dois objetos com o mesmo valor de contagem.
Essa política de despejo possui um mecanismo de despejo semelhante ao da política de despejo LFU, mas com a adição de uma prioridade associada a um objeto. A prioridade de um objeto é determinada por você no momento do armazenamento em cache desse objeto. Objetos com prioridade mais baixa são removidos primeiro e os objetos com prioridade mais alta são removidos posteriormente. Nesta política de despejo, você tem a opção de escolher entre as seguintes prioridades de despejo:
Observação: Quando uma prioridade não é selecionada, a prioridade Normal será usada como padrão.