Configurar a Cache do Azure para Redis
É possível criar uma cache de Redis através do portal do Azure, da CLI do Azure ou do Azure PowerShell.
Criar e configurar uma instância do Cache do Azure para Redis
Há vários parâmetros que você precisa decidir para configurar o cache corretamente para seus propósitos.
Nome
O cache Redis precisa de um nome globalmente exclusivo. O nome deve ser exclusivo no Azure porque é usado para gerar uma URL voltada para o público para se conectar e se comunicar com o serviço.
O nome tem de ter entre 1 e 63 carateres e ser composto por números, letras e o caráter "-". O nome da cache não pode começar nem terminar com o caráter “-”, e os carateres “-” consecutivos não são válidos.
Location
Deve colocar sempre a instância de cache e a aplicação na mesma região. Ligar a uma cache numa região diferente pode aumentar significativamente a latência e reduzir a fiabilidade. Se você estiver se conectando ao cache fora do Azure, selecione um local próximo de onde o aplicativo que consome os dados está sendo executado.
Tipo de cache
A camada determina o tamanho, o desempenho e os recursos disponíveis para o cache. Para obter mais informações, visite Preços do Cache do Azure para Redis.
Gorjeta
A Microsoft recomenda que você sempre use a camada Standard ou superior para sistemas de produção. A camada Basic é um sistema de nó único sem replicação de dados e sem SLA.
Suporte de clustering
Com as camadas Flash Premium, Enterprise e Enterprise, você pode implementar clustering para dividir automaticamente seu conjunto de dados entre vários nós. Para implementar o clustering, especifique o número de partições horizontais até um máximo de 10. O custo incorrido será o custo do nó original multiplicado pelo número de partições horizontais.
Aceder à instância de Redis
O Redis tem uma ferramenta de linha de comando para interagir com um Cache do Azure para Redis como cliente. A ferramenta está disponível para plataformas Windows baixando as ferramentas de linha de comando Redis para Windows. Se você quiser executar a ferramenta de linha de comando em outra plataforma, baixe o Cache Redis do https://redis.io/downloadAzure em .
O Redis suporta um conjunto de comandos conhecidos. Normalmente é gerado um comando como COMMAND parameter1 parameter2 parameter3
.
Eis alguns comandos comuns que pode utilizar:
Comando | Description |
---|---|
ping |
Ping do servidor. Devoluções PONG . |
set [key] [value] |
Define uma chave/valor na cache. Devolve "OK" no sucesso. |
get [key] |
Obtém um valor da cache. |
exists [key] |
Devolve "1" se a chave existir na cache, "0" se não. |
type [key] |
Devolve o tipo associado ao valor da chave em questão. |
incr [key] |
Incremente o valor indicado associado à chave em "1". O valor tem de ser um número inteiro ou um valor duplo. Isto devolve o novo valor. |
incrby [key] [amount] |
Incremente o valor dado associado à chave na quantidade especificada. O valor tem de ser um número inteiro ou um valor duplo. Devolve o novo valor. |
del [key] |
Elimina o valor associado à chave. |
flushdb |
Elimina todas as chaves e valores na base de dados. |
Segue-se um exemplo de um comando:
> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0
Adicionar um tempo de expiração aos valores
A colocação em cache é importante pois permite-nos armazenar valores comummente usados na memória. No entanto, também precisamos de uma maneira de expirar valores quando eles estão obsoletos. No Redis, os valores de expiração são feitos aplicando um tempo de vida (TTL) a uma chave.
Quando o TTL termina, a chave é eliminada automaticamente, como se o comando DEL fosse gerado. Eis algumas notas sobre expirações de TTL.
- As expirações podem ser definidas com uma precisão de segundos ou milissegundos.
- A resolução de tempo de expiração é sempre 1 milissegundo.
- As informações sobre expirações são replicadas e persistem no disco, o tempo praticamente passa quando o servidor Redis permanece parado (isso significa que o Redis salva a data em que uma chave expira).
Aqui está um exemplo de uma expiração:
> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)
Aceder à cache de Redis a partir de um cliente
Para se conectar a uma instância do Cache do Azure para Redis, você precisa de várias informações. Os clientes necessitam do nome do anfitrião, da porta e de uma chave de acesso para a cache. Você pode recuperar essas informações no portal do Azure por meio da página Chaves de Acesso de Configurações>.
O nome do anfitrião é o endereço Internet público da cache, que foi criado com o nome da cache. Por exemplo,
sportsresults.redis.cache.windows.net
.A chave de acesso funciona como uma palavra-passe na cache. São criadas duas chaves: primária e secundária. Você pode usar qualquer uma das chaves. Dois são fornecidos no caso de você precisar alterar a chave primária. Pode mudar todos os seus clientes para a chave secundária e regenerar a chave primária. Isto impediria que as aplicações utilizassem a chave primária original. A Microsoft recomenda regenerar periodicamente as chaves, tal como faria com as suas palavras-passe pessoais.
Aviso
As chaves de acesso devem ser consideradas informação confidenciais, trate-as como trataria uma palavra-passe. Qualquer pessoa com uma chave de acesso pode efetuar qualquer operação na sua cache!