Manipulação de dados

O cache oferece um conjunto de comandos que permitem manipular os dados no cache.

Adicionando itens

São oferecidos vários comandos para inserir um item no cache. Cada um com sua particularidade.

Comando put

O comando put associa um valor a uma chave, mesmo que ela exista. Ele retorna replaced , se existir um valor associado à chave, ou stored , se não existir um valor associado à chave.

Ele possui o seguinte formato:

put <key> <timeToLive> <timeToIdle> <size> <reserved>
<data>
  • key: chave associada ao valor;
  • timeToLive: é a quantidade máxima de tempo que um item expira após sua criação;
  • timeToIdle:é a quantidade máxima de tempo que um item expira após o último acesso;
  • size: tamanho em bytes do item a ser inserido;
  • reserved: reservado;
  • data: dados do item a ser inserido. Tem que ser o mesmo que foi informado em size.
put key 0 0 5 0
teste
stored

Comando replace

O comando replace substitui o valor associado à chave somente se ele existir. Ele retorna replaced , se o valor for substituído, ou not_stored , se o valor não for armazenado.

Ele possui o seguinte formato:

replace <key> <timeToLive> <timeToIdle> <size> <reserved>
<data>
  • key: chave associada ao valor;
  • timeToLive: é a quantidade máxima de tempo que um item expira após sua criação;
  • timeToIdle:é a quantidade máxima de tempo que um item expira após o último acesso;
  • size: tamanho em bytes do item a ser inserido;
  • reserved: reservado;
  • data: dados do item a ser inserido. Tem que ser o mesmo que foi informado em size.
replace key 0 0 5 0
teste
not_stored

Comando set

O comando set associa o valor à chave somente se a chave não estiver associada a um valor. Ele retorna stored , se o valor for inserido, ou not_stored , se o valor não for armazenado. Esse comando tem uma particularidade. Quando existe um valor associado à chave, o mesmo é retornado, mas ocorrerá um error se ele expirar no momento em que for recuperado.

Ele possui o seguinte formato:

set <key> <timeToLive> <timeToIdle> <size> <reserved>
<data>
  • key: chave associada ao valor;
  • timeToLive: é a quantidade máxima de tempo que um item expira após sua criação;
  • timeToIdle:é a quantidade máxima de tempo que um item expira após o último acesso;
  • size: tamanho em bytes do item a ser inserido;
  • reserved: reservado;
  • data: dados do item a ser inserido. Tem que ser o mesmo que foi informado em size.
set key 0 0 5 0
teste
stored

Recuperando itens

Comando get

Um valor é obtido com o uso do comando get . Ele retorna o valor associado à chave. Ele também permite o bloqueio da chave em uma transação. A resposta sempre termina com end .

Ele possui o seguinte formato:

get <key> <update> <reserved>
  • key: chave associada ao valor;
  • update: bloqueia a chave para atualização. Se for diferente de 0, ela será bloqueada para outras transações;
  • reserved: reservado;
get key 0
value key 5 0
teste
end

A resposta do comando get tem o seguinte formato:

value <key> <size> <reserved>
<data>
  • key: chave associada ao valor;
  • size: tamanho em bytes do item;
  • reserved: reservado;
  • data: dados do item com tamanho igual à size.

Removendo itens

Comando remove

O comando remove apaga o valor associado à chave. Ele retorna ok , se o valor for removido, ou not_found , se ele não existir.

Ele possui o seguinte formato:

remove <key> <reserved>
  • key: chave associada ao valor;
  • reserved: reservado;
remove key 0
ok