Este trabalho é um Key-Value store in memory utilizando o gRPC.
As primitivas do Key-Value Store são:
- put(key, value)
- get(key) : value
- getAllKeys() : Key[]
# Clonar o repositório
$ git clone https://github.com/PUC-DISCIPLINAS/kv-grpc-matheus-thiago.git
# Entrar na pasta de código
$ cd kv-grpc-matheus-thiago/src
# Instalar dependências
$ npm i
# Executar o servidor
$ node server.js
Retorna que o servidor está pronto se a execução ocorrer com sucesso.
# Executar o cliente
$ node client.js
Retorna uma lista de comandos possíveis. Eles são:
GET: Esse comando recebe uma key e retorna um valor, é usado no formato "node client.js get ${key}". Exemplo:
# Executar o cliente para método GET
$ node client.js get 1
Nesse exemplo, o usuário digitou a key 1, então será retornado o valor do objeto com a key 1, ou uma mensagem de que não foi possível encontrar o objeto.
PUT: Esse comando recebe uma key e um value, e cria um item com esses dados. Exemplo:
# Executar o cliente para método PUT
$ node client.js put 2 two
Nesse exemplo, o usuário digitou a key 2 com o valor "two", criando um objeto com esses dados.
{
"key": "2",
"value": "two"
}
LIST: Esse comando recebe nenhum parâmetro e retorna todos os itens cadastrados. Exemplo:
# Executar o cliente para método LIST
$ node client.js list
Todos os comandos são case insensitive, logo escrevê-los com letras maiúsculas ou minúsculas tem o mesmo resultado.