Table of Contents
Introdução
O Redis é um datastore ou armazenamento de dados open-source de chave-valor na memória. No Redis, *strings* são o tipo mais básico de valor que você pode criar e gerenciar. Este tutorial fornece uma visão geral de como criar e recuperar strings, bem como manipular os valores mantidos pelas chaves de string.
Como Utilizar Este Guia
Este guia está no formato de referência rápida com trechos de linha de comando independentes. Recomendamos que você pule para qualquer seção que seja relevante para a tarefa que você está tentando concluir.
Os comandos mostrados neste guia foram testados em um servidor Ubuntu 18.04 executando a versão <^>4.0.9<^> do Redis. Para configurar um ambiente semelhante, você pode seguir o Passo 1 do nosso guia Como Instalar e Proteger o Redis no Ubuntu 18.04. Vamos demonstrar como esses comandos se comportam executando-os com redis-cli, a interface de linha de comando do Redis. Observe que se você estiver usando uma interface Redis diferente — Redli, por exemplo — a saída exata de certos comandos pode ser diferente.
Como alternativa, você pode provisionar uma instância de banco de dados Redis gerenciada para testar esses comandos, mas observe que, dependendo do nível de controle permitido pelo seu provedor de banco de dados, alguns comandos neste guia podem não funcionar como descrito. Para provisionar um banco de dados gerenciado na the cloud provider, siga nossa documentação de produto para Managed Databases. Então, você deve instalar ou o Redli ou configurar um túnel TLS para conectar-se ao banco de dados gerenciado por TLS.
Criando e Gerenciando Strings
Chaves que mantêm strings podem conter apenas um valor; você não pode armazenar mais de uma string em uma única chave. No entanto, as strings no Redis são *binary-safe*, o que significa que uma string do Redis pode conter qualquer tipo de dados, de caracteres alfanuméricos a imagens JPEG. O único limite é que as strings devem ter 512 MB ou menos.
Para criar uma string, use o comando set. Por exemplo, o seguinte comando set cria uma chave chamada key_Welcome1 que contém a string "Howdy":
set key_Welcome1 "Howdy"
[secondary_label Output]
OK
Para definir várias strings em um comando, use mset:
mset key_Welcome2 "there" key_Welcome3 "partners,"
Você também pode usar o comando append para criar strings:
append key_Welcome4 "welcome to Texas"
Se a string foi criada com sucesso, o append produzirá um número inteiro igual a quantos caracteres a string possui:
[secondary_label Output]
(integer) 16
Note que o append também pode ser usado para alterar o conteúdo das strings. Veja a seção manipulando strings para detalhes sobre isso.
Recuperando Strings
Para recuperar uma string, use o comando get:
get key_Welcome1
[secondary_label Output]
"Howdy"
Para recuperar várias strings com um comando, use mget:
mget key_Welcome1 key_Welcome2 key_Welcome3 key_Welcome4
[secondary_label Output]
1) "Howdy"
2) "there"
3) "partners,"
4) "welcome to Texas"
Para cada chave passada para o mget que não contém um valor de string ou não existe, o comando retornará nil.
Manipulando Strings
Se uma string é composta de um número inteiro, você pode executar o comando incr para incrementá-lo em um:
set key_1 3
incr key_1
[secondary_label Output]
(integer) 4
Da mesma forma, você pode usar o comando incrby para aumentar o valor de uma string numérica em um incremento específico:
incrby key_1 16
[secondary_label Output]
(integer) 20
Os comandos decr e decrby funcionam da mesma maneira, mas diminuem o número inteiro armazenado em uma string numérica:
decr key_1
[secondary_label Output]
(integer) 19
decrby key_1 16
[secondary_label Output]
(integer) 3
Se já existir uma string alfabética, o append acrescentará o valor ao final do valor existente e retornará o novo comprimento da string. Para ilustrar, o comando a seguir acrescenta ", y'all" à string mantida pela chave key_Welcome4, portanto, agora a string exibirá "welcome to Texas, y'all":
append key_Welcome4 ", y'all"
[secondary_label Output]
(integer) 15
Você também pode acrescentar números inteiros a uma string que contém um valor numérico. O exemplo a seguir acrescenta 45 a 3, o número inteiro mantido em key_1, portanto ele conterá 345. Neste caso, o append também retornará o novo comprimento da string, em vez de seu novo valor:
append key_1 45
[secondary_label Output]
(integer) 3
Como essa chave ainda possui apenas um valor numérico, você pode executar as operações incr e decr nela. Você também pode acrescentar caracteres alfabéticos a uma string de número inteiro, mas se você fizer isso, a execução de incr e decr na string produzirá um erro, pois o valor da string não será mais um número inteiro.
Conclusão
Este guia detalha vários comandos usados para criar e gerenciar strings no Redis. Se houver outros comandos, argumentos ou procedimentos relacionados que você gostaria de ver descritos neste guia, peça ou faça sugestões nos comentários abaixo.
Para obter mais informações sobre comandos Redis, consulte nossa série de tutoriais Como Gerenciar um Banco de Dados Redis.