Dependências de dados de cache personalizadas
NCache fornece maneiras flexíveis de determinar a invalidação de dados usando várias dependências. No entanto, você pode implementar sua lógica personalizada para dependência se nenhuma das estratégias de invalidação incorporadas cumprir os seus requisitos.
Na dependência personalizada, você pode implementar sua lógica personalizada que define quando determinados dados se tornam inválidos. Aqui, o conceito de multithreading é incorporado, o que significa que, em vez de executar cada item sequencialmente, vários threads executam a expiração simultaneamente. Por exemplo, você pode implementar uma dependência customizada que faz uma chamada para um serviço web para a validação de dados dependendo da funcionalidade do seu aplicativo.
Dependências de cache personalizadas em NCache
Existem três classes de dependência personalizadas distintas fornecidas a você por NCache. O primeiro é conhecido como Dependência Extensível classe que permite implementar sua lógica de expiração personalizada em relação à qual os dados expiram um item por vez. Tudo o que você precisa fazer é herdar sua classe de dependência de ExtensibleDependency
e substituir seu Mudou propriedade.
A segunda aula é Dependência Extensível em Massa que permite várias expirações em uma chamada. Ao invés de HasChanged
propriedade, a dependência extensível em massa fornece uma alternativa Avaliar em massa método que avalia vários itens ao mesmo tempo.
A terceira classe de dependência fornecida por NCache is NotificarDependência Extensível, onde o usuário é responsável por fornecer a lógica de dependência que chama um delegado fornecido por NCache para invocar essa lógica para remover dados do cache.
Assim como a expiração, o thread de limpeza de cache chama periodicamente o HasChanged
propriedade e EvaluateBulk
método, e ao retornar true, os itens são removidos do cache. NotifyExtensibleDependency
entretanto, não depende do thread de limpeza para remover itens do cache. Ele implanta seu próprio manipulador no cache, responsável por remover itens do cache.
Veja também
Cache de sincronização usando dependência extensível em massa
Sincronizar o cache usando a dependência extensível do Notify
Configurar dependências personalizadas
Alachisoft.NCache.Runtime.Dependências
com.alachisoft.ncache.runtime.dependencies