Lazoti Rodrigo - Armazenando dados com Redis стр 4.

Шрифт
Фон

Isso significa que em geral uma requisição feita por um cliente ao servidor é seguida das seguintes etapas:

O cliente envia um comando ao servidor e fica aguardando uma res-

posta do servidor (geralmente bloqueando a conexão) através de uma

conexão estabelecida via socket;

O servidor processa o comando e envia a resposta de volta ao cliente.

Figura 2.1:

Processo de envio de comando e recebimento da resposta

2.1

O que o Redis não é

Assim como é muito importante entender o que é o Redis e o que podemos

fazer com ele para podermos utilizá-lo de forma correta, é essencial entender também o que o Redis não é e o que não é possível. Veja a seguir uma pequena lista de itens que o Redis não é ou não faz:

8

Casa do Código

Capítulo 2. Conhecendo o Redis

Não é um banco de dados relacional como o MySQL ou Oracle;

Não é um banco de dados orientado a documentos como o MongoDB;

Não é um banco de dados que você deveria usar para armazenar todos

os seus dados;

Não possui suporte oficial ao Windows;

Não utiliza o protocolo HTTP.

2.2

Indo além do CLI

O CLI (a interface de linha de comando) é uma forma rápida e fácil de exe-

cutar comandos no Redis mas, na prática, a comunicação com o Redis é feita

muitas vezes através de uma aplicação, e não utilizando o CLI diretamente.

Para resolver isso, o Redis possui diversos clientes para várias linguagens de programação que vão desde Java até Smalltalk e que funcionam de forma síncrona ou assíncrona. Para conferir todos os clientes disponíveis para cada

linguagem de programação, acesse o link:

http://redis.io/clients

Essa página contém todos os clientes para Redis, suas respectivas descri-

ções e endereços, mas um ponto importante é que também é possível ver uma

classificação de qual cliente é mais recomendado e mais ativo para cada linguagem de programação.

No decorrer do livro, irei utilizar alguns exemplos em CLI e outros em

Java utilizando a versão 2.4.2 do cliente Jedis que está disponível através do link:

https://github.com/xetorthio/jedis

Saiba que tudo que for feito utilizando um cliente Java ou CLI diretamente

pode ser feito com qualquer outro cliente de Redis, independente da lingua-

gem de programação. O código será muito análogo, seja em Ruby, Python ou

sua linguagem preferida! O que importa realmente são os conceitos.

O código-fonte em Java dos exemplos do livro serão feitos utilizando o

Maven. Para quem preferir utilizá-lo, a dependência do Jedis pode ser declarada da seguinte forma:

9

2.3. Olá Redis em Java

Casa do Código

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.4.2</version>

</dependency>

2.3

Olá Redis em Java

Para entendermos como usar o Redis através de uma aplicação, vamos realizar o mesmo exemplo feito no capítulo 1, mas agora usando um cliente em Java

chamado Jedis. Vamos começar com o comando ECHO:

Jedis jedis = new Jedis("localhost");

String resultado = jedis.echo("ola redis!");

System.out.println(resultado);

Uma instância da classe Jedis é tudo que precisamos para enviar co-

mandos para o Redis através de uma aplicação Java. No exemplo anterior,

ao instanciar a classe Jedis, passamos como parâmetro ao construtor o local onde o Redis está sendo executado que no nosso caso é na máquina local

(localhost). A biblioteca Jedis utiliza a mesma nomenclatura dos comandos

disponíveis pelo CLI. Ao executar o método echo, a instância do Jedis re-

torna o mesmo resultado de quando executamos o comando ECHO via CLI,

conforme o bloco a seguir:

ola redis!

Agora vamos armazenar uma informação utilizando o comando SET

conforme o código a seguir:

Jedis jedis = new Jedis("localhost");

String resultado = jedis.set("ultimo_usuario_logado",

"Tony Stark");

System.out.println(resultado);

Caso tudo ocorra corretamente, o valor impresso pela variável

resultado será OK. Repare que, embora estejamos enviando coman-

dos para o Redis através de uma aplicação Java, o resultado é o mesmo que

recebemos quando utilizamos o CLI.

10

Casa do Código

Capítulo 2. Conhecendo o Redis

Vamos executar o comando GET através do Jedis para confirmar que o va-

lor correto da chave ultimo_usuario_logado está armazenado no Redis.

Veja como fazer isso com o seguinte código:

Jedis jedis = new Jedis("localhost");

String valor = jedis.get("ultimo_usuario_logado");

System.out.println(valor);

O resultado do código anterior é:

Tony Stark

Repare que executar comandos no Redis via Java usando o cliente Jedis

é uma tarefa simples e bem próxima da forma como é feito pelo CLI. Para

encerrar este primeiro contato com o Jedis, vamos remover a chave que con-

sultamos no exemplo anterior:

Jedis jedis = new Jedis("localhost");

Long resultado = jedis.del("ultimo_usuario_logado");

System.out.println(resultado);

Assim como o CLI, o método del retorna o número 1, que refere-se à

quantidade de chaves que foram removidas do Redis. Caso nenhuma chave

tivesse sido removida o método teria retornado o valor 0.

2.4

Testando o Redis online

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке