Lazoti Rodrigo - Armazenando dados com Redis

Шрифт
Фон

Casa do Código

À minha amada esposa e querido filho.

i

Casa do Código

Agradecimentos

Your time is limited, so dont waste it living someone elses life. Dont be trapped by dogma which is living with the results of other peoples thinking.

Dont let the noise of others opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They

somehow already know what you truly want to become. Everything else is

secondary.

Steve Jobs

Escrever um livro é sempre uma tarefa longa e difícil, pois temos que apli-

car muito esforço e tempo. Por este motivo tenho muito a agradecer às pessoas que me ajudaram direta ou indiretamente ao longo dessa jornada.

Em primeiro lugar agradeço à minha esposa Andressa pelo seu apoio in-

condicional e pelo carinho durante as diversas horas que passei escrevendo o livro. Ao meu filho Rafael pela sua compreensão e paciência, à minha mãe e

irmãos por todo o seu apoio.

Agradeço também a todo o pessoal da Casa do Código pela orientação

e ajuda, principalmente ao Paulo Silveira e o Adriano Almeida por acreditar, apoiar e me acompanhar no decorrer do meu trabalho nesse livro.

E principalmente agradeço a você leitor por investir seu precioso tempo

nesse livro.

Obrigado a todos vocês!

iii

Casa do Código

Sobre o autor

Brasileiro, nascido no estado de São Paulo.

Rodrigo Lazoti é bacharel em Sistemas de informação pela Faculdade

Drummond e Pós-graduado em Engenharia de Software pela PUC-MG. Tra-

balha como desenvolvedor de software desde 2002 e desde então vem utili-

zando diversas linguagens de programação e diferentes tecnologias.

v

Casa do Código

Sumário

Sumário

1

Começando com o Redis

1

1.1

Instalando no Unix, Linux e Mac OS . . . . . . . . . . . . . .

1

1.2

Instalando no Windows . . . . . . . . . . . . . . . . . . . . . .

2

1.3

Iniciando o Redis . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4

Olá Redis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

1.5

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2

Conhecendo o Redis

7

2.1

O que o Redis não é . . . . . . . . . . . . . . . . . . . . . . . .

8

2.2

Indo além do CLI . . . . . . . . . . . . . . . . . . . . . . . . .

9

2.3

Olá Redis em Java . . . . . . . . . . . . . . . . . . . . . . . . .

10

2.4

Testando o Redis online . . . . . . . . . . . . . . . . . . . . . .

11

2.5

Recursos do livro

. . . . . . . . . . . . . . . . . . . . . . . . .

12

2.6

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

12

3

Redis no mundo real Parte 1

15

3.1

Cache de dados com Strings . . . . . . . . . . . . . . . . . . .

15

3.2

Encontrando as chaves armazenadas . . . . . . . . . . . . . .

18

3.3

Utilizando hashes . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4

Redis no mundo real Parte 2

29

4.1

Expirando chaves de forma automática . . . . . . . . . . . . .

29

4.2

Estatísticas de páginas visitadas . . . . . . . . . . . . . . . . .

32

vii

Sumário

Casa do Código

4.3

Estatísticas de usuários únicos por data . . . . . . . . . . . . .

37

4.4

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

47

5

Redis no mundo real Parte 3

49

5.1

Lista das últimas páginas visitadas . . . . . . . . . . . . . . . .

49

5.2

Criando uma fila de mensagens . . . . . . . . . . . . . . . . .

54

5.3

Manipular relacionamento entre amigos e seus grupos . . . .

63

5.4

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

77

6

Redis no mundo real Parte 4

79

6.1

Armazenando

as vitórias dos usuários em um jogo . . . . . .

79

6.2

Scores dos jogadores com Sorted Set . . . . . . . . . . . . . .

83

6.3

Identificando os tipos de cada chave

. . . . . . . . . . . . . .

92

6.4

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

93

7

O que mais o Redis pode fazer

95

7.1

Enviando mensagens com PUB-SUB . . . . . . . . . . . . . .

95

7.2

Enviando múltiplos comandos com Pipeline . . . . . . . . . .

103

7.3

Utilizando transações no Redis . . . . . . . . . . . . . . . . .

106

7.4

Executando scripts em Lua . . . . . . . . . . . . . . . . . . . .

109

7.5

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

112

8

Monitorando o Redis

113

8.1

Como monitorar comandos . . . . . . . . . . . . . . . . . . .

113

8.2

Obtendo informações do servidor . . . . . . . . . . . . . . . .

116

8.3

Algumas dicas de uso . . . . . . . . . . . . . . . . . . . . . . .

122

8.4

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

125

9

Administrando o Redis

127

9.1

Utilizando um arquivo de configuração . . . . . . . . . . . . .

127

9.2

Segurança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

128

9.3

Persistência dos dados contidos em memória . . . . . . . . .

130

9.4

Definindo o banco de dados . . . . . . . . . . . . . . . . . . .

132

9.5

Próximos passos . . . . . . . . . . . . . . . . . . . . . . . . . .

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

0
Шрифт
Фон

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