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

Шрифт
Фон

String chave = String.format(

"pessoas:%s:relacionamentos", pessoa);

Jedis jedis = new Jedis("localhost");

long resultado = jedis.sadd(chave, amigos);

System.out.println(

64

Casa do Código

Capítulo 5. Redis no mundo real Parte 3

String.format(

"%s tem %d amigos %s",

pessoa,

resultado,

Arrays.toString(amigos)

)

);

}

public static void main(String[] args) {

ConjuntoDeRelacionamentoEntrePessoas relacionamentos =

new ConjuntoDeRelacionamentoEntrePessoas();

relacionamentos.adicionaAmigos(

"rafael",

new String[] { "gustavo", "andressa",

"rodrigo", "tereza" }

);

relacionamentos.adicionaAmigos(

"andressa",

new String[] { "cristiane", "rodrigo",

"gustavo", "rafael" }

);

relacionamentos.adicionaAmigos(

"gustavo",

new String[] { "carlos", "tereza",

"rafael", "andressa" }

);

relacionamentos.adicionaAmigos(

"cristiane",

new String[] { "tereza",

"andressa", "carlos" }

);

relacionamentos.adicionaAmigos(

"carlos",

65

5.3. Manipular relacionamento entre amigos e seus grupos

Casa do Código

new String[] { "cristiane",

"rodrigo", "gustavo" }

);

relacionamentos.adicionaAmigos(

"rodrigo",

new String[] { "andressa",

"rafael", "carlos" }

);

relacionamentos.adicionaAmigos(

"tereza",

new String[] { "gustavo",

"rafael", "cristiane" }

);

}

}

Nesse código, tudo o que fizemos foi usar o comando SADD para adicionar

um conjunto representado por uma chave e seus respectivos itens (valores).

O comando SADD adiciona um ou mais itens ao conjunto (chave) informado

como parâmetro, e ele retorna a quantidade de itens que foram inseridos no

conjunto. O código apresenta o seguinte resultado:

rafael tem 4 amigos [gustavo, andressa, rodrigo, tereza]

andressa tem 4 amigos [cristiane, rodrigo, gustavo, rafael]

gustavo tem 4 amigos [carlos, tereza, rafael, andressa]

cristiane tem 3 amigos [tereza, andressa, carlos]

carlos tem 3 amigos [cristiane, rodrigo, gustavo]

rodrigo tem 3 amigos [andressa, rafael, carlos]

tereza tem 3 amigos [gustavo, rafael, cristiane]

Veja a seguir uma ilustração 5.3 de cada pessoa e seus relacionamentos:

66

Casa do Código

Capítulo 5. Redis no mundo real Parte 3

Figura 5.3: Relacionamento entre amigos

Já temos as pessoas e seus relacionamentos (amigos) definidos, agora va-

mos criar alguns grupos de pessoas (membros) conforme seus interesses. Para isso, vamos utilizar um código muito semelhante ao usado para criar o set de pessoas. Veja o código a seguir:

public class ConjuntoDeGrupoDePessoas {

public void adicionaMembrosAoGrupo(String grupo,

String[] membros) {

String chave = String.format("grupos:%s:membros", grupo);

Jedis jedis = new Jedis("localhost");

long resultado = jedis.sadd(chave, membros);

System.out.println(

String.format(

"Grupo (%s) tem %d membros %s",

grupo,

resultado,

Arrays.toString(membros)

67

5.3. Manipular relacionamento entre amigos e seus grupos

Casa do Código

)

);

}

public static void main(String[] args) {

ConjuntoDeGrupoDePessoas relacionamentos =

new ConjuntoDeGrupoDePessoas();

relacionamentos.adicionaMembrosAoGrupo(

"video-game",

new String[] { "rafael", "gustavo", "carlos",

"rodrigo" }

);

relacionamentos.adicionaMembrosAoGrupo(

"judo",

new String[] { "rafael" }

);

relacionamentos.adicionaMembrosAoGrupo(

"natacao",

new String[] { "rafael", "cristiane" }

);

relacionamentos.adicionaMembrosAoGrupo(

"kung-fu",

new String[] { "andressa" }

);

relacionamentos.adicionaMembrosAoGrupo(

"violao",

new String[] { "gustavo" }

);

relacionamentos.adicionaMembrosAoGrupo(

"ciclismo",

new String[] { "cristiane" }

);

68

Casa do Código

Capítulo 5. Redis no mundo real Parte 3

relacionamentos.adicionaMembrosAoGrupo(

"cachorro",

new String[] { "cristiane", "rodrigo",

"tereza" }

);

relacionamentos.adicionaMembrosAoGrupo(

"moto",

new String[] { "carlos" }

);

relacionamentos.adicionaMembrosAoGrupo(

"carro",

new String[] { "carlos", "rodrigo" }

);

relacionamentos.adicionaMembrosAoGrupo(

"livro",

new String[] { "gustavo", "rodrigo" }

);

relacionamentos.adicionaMembrosAoGrupo(

"novela",

new String[] { "andressa", "cristiane",

"tereza" }

);

}

}

O resultado do código que acabamos de criar é:

Grupo (video-game) tem 4 membros [rafael, gustavo, carlos,

rodrigo]

Grupo (judo) tem 1 membros [rafael]

Grupo

(natacao) tem 2 membros [rafael, cristiane]

Grupo (kung-fu) tem 1 membros [andressa]

Grupo (violao) tem 1 membros [gustavo]

Grupo (ciclismo) tem 1 membros [cristiane]

Grupo (cachorro) tem 3 membros [cristiane, rodrigo, tereza]

69

5.3. Manipular relacionamento entre amigos e seus grupos

Casa do Código

Grupo (moto) tem 1 membros [carlos]

Grupo (carro) tem 2 membros [carlos, rodrigo]

Grupo (livro) tem 2 membros [gustavo, rodrigo]

Grupo (novela) tem 3 membros [andressa, cristiane, tereza]

Saber quantas pessoas pertencem a cada grupo

Agora que temos todas as informações necessárias para o exemplo já ar-

mazenadas no Redis, vamos utilizar alguns comandos interessantes que estão

disponíveis para o tipo de dado set. O primeiro comando que vamos utilizar

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

0
Шрифт
Фон

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