Regiões do estilo Cache do Azure / DataCache no Redis

Estou no processo de planejamento de mover um aplicativo Web C # ASP.Net para o Azure (atualmente hospedado em um único servidor dedicado) e estou procurando opções de cache. Atualmente, como temos apenas uma instância do aplicativo em execução ao mesmo tempo, temos um cache de memória 'em processo' para aliviar o banco de dados SQL de alguns pedidos idênticos.

O processo no momento é limpar determinadas partes do cache quando os gerentes / serviços fizerem uma alteração nessas partes do banco de dados, por exemplo temos uma tabela de usuários e teremos chaves como "Usuário. {0}" retornando um único registro / objeto de usuário e "Users.ForeignKey. {0}" retornando todos os usuários relacionados à chave estrangeira. Se atualizarmos um único registro de usuário, removeremos a chave "User.1" (se o userid = 1) e facilitarmos todas as coleções de listas, pois elas poderiam ter sido alteradas. Fazemos isso removendo chaves por padrão, isso significa que apenas as chaves afetadas são removidas e todas as outras persistem.

Estamos planejando essa mudança para o Azure há um tempo e, quando começamos a analisar tudo o que o serviço Redis Cache do Azure não estava disponível, pelo menos com suporte, analisamos o serviço de Cache do Azure, com base no AppFabric. Usando isso, decidimos que usaríamos as regiões do DataCache para separar os diferentes tipos de objetos e, em seguida, apenas limparíamos a região afetada, não tão exata quanto nosso método atual, mas OK. Agora, desde que Redis entrou em cena, estamos analisando isso e preferimos usá-lo, se possível. No entanto, parece que para conseguir a mesma coisa, teríamos que ter caches Redis separados para cada 'Região' / seção, o que, pelo que entendi, significaria que pagaríamos por muitas pequenas instâncias do serviço Redis Cache do Azure, que custaria muito, já que precisaríamos de mais de 10 seções laváveis separadamente no cache.

Alguém sabe como obter algo semelhante às Regiões do Azure DataCache com Redis ou pode sugerir algo óbvio que provavelmente estou sentindo falta.

Desculpe por uma pergunta / explicação tão longa, mas achei difícil explicar o que estou tentando obter sem antecedentes / contexto.

Obrigado, Gareth

Atualizar:

Encontrei alguns comandos bash que podem fazer o trabalho de excluir chaves por padrão, incluindo o uso do comando 'KEYS'aqui e o comando lua script EVALaqui.

Estou pensando em usar o cliente StackExchange.Redis para interagir, alguém sabe como usar esses tipos de comandos ou alternativas a esses (para excluir chaves por padrão) ao usar StackExchange.Redis?

Obrigado pela leitura, Gareth

questionAnswers(2)

yourAnswerToTheQuestion