Use KV Store com cliente compatível com Redis
Alcance o KV Store por uma interface de cliente similar a Redis, com as operações set, get, delete e de hash mapeadas na biblioteca da Azion.
A biblioteca azion expõe um cliente similar a Redis para o KV Store, então uma aplicação já escrita em cima de padrões do Redis mantém a forma das suas chamadas. Este guia cobre o cliente, suas opções, as operações que ele carrega e como cada uma corresponde ao comando Redis que ela substitui.
Pré-requisitos
- Uma conta Azion. Para criar uma, consulte Como criar uma conta na Azion.
- Um namespace do KV Store. Ele é criado pela API da Azion; consulte Namespaces.
- Node.js 18 ou posterior, ou um runtime JavaScript compatível.
Instale a biblioteca
Crie um cliente
O cliente segue um padrão similar a Redis, com métodos encadeáveis e uma etapa de conexão:
Opções do cliente
| Opção | Tipo | Descrição |
|---|---|---|
namespace | string | O namespace do KV Store que o cliente endereça |
apiToken | string | Um token de API da Azion, exigido pelo provider de API |
Armazene um value
set grava um value, com expiração e metadata opcionais:
Tipos de expiração
| Tipo | Descrição |
|---|---|
EX | Tempo de expiração em segundos |
PX | Tempo de expiração em milissegundos |
EXAT | Timestamp Unix em segundos |
PXAT | Timestamp Unix em milissegundos |
Leia um value
get retorna o value, ou null quando o namespace não guarda essa key:
Leia um value com o metadata dele
getWithMetadata retorna o value e o metadata gravado junto com ele:
Exclua uma key
delete remove uma key, e del é um alias dele:
Operações de hash
O cliente carrega operações de hash compatíveis com Redis para pares campo-value sob uma mesma key. Cada uma tem um alias em maiúsculas.
hSet
Grava um campo de um hash:
hGetAll
Retorna todos os campos e values de um hash:
hVals
Retorna todos os values de um hash, sem os nomes dos campos:
Detecção de provider
O cliente detecta o runtime em que está executando e seleciona um provider:
- Provider native: selecionado dentro do Azion Runtime, onde uma função executa.
- Provider API: selecionado fora da Azion, em desenvolvimento local ou em um servidor externo.
getProviderType informa qual dos dois está em uso:
Trate os erros
O cliente informa falhas por um evento error:
Uma operação isolada também é envolvida em try/catch:
Feche a conexão
Feche o cliente quando o trabalho terminar:
Exemplo completo
As operações acima, compostas em uma execução:
Correspondência com os métodos do Redis
| Comando Redis | Método do cliente | Descrição |
|---|---|---|
GET | get(key) | Lê um value |
SET | set(key, value, options?) | Grava um value |
DEL | delete(key) / del(key) | Remove uma key |
HSET | hSet(key, field, value) / HSET(...) | Grava um campo de hash |
HGETALL | hGetAll(key) / HGETALL(key) | Lê todos os campos de hash |
HVALS | hVals(key) / HVALS(key) | Lê todos os values de hash |