Introdução ao
Redis
Wanderlei Souza @wandi
Denis Tiago @denistiago
Agenda
● Introdução ao Redis
● Estrutura de dados
● Integração com Java/Spring
● Redis for (dev)ops
● Exemplos de aplicações com Redis
A gentle introduction ;)
● in-memory database
● diferentes estruturas de dados
● desempenho
● replicação master-slave
● client-side sharding
● persistência
Use cases
redis-cli
command line tool
Estrutura de dados
● Strings
● Lists
● Hashes
● Sets
● Sorted Sets
Estrutura de
dados
prática
Spring data integration
● Connection abstraction
● Serializers
● Redis Template
○ Type Safe
○ Transactions
○ Exception Translation
● Spring cache
Spring data integration
● Redis Template
@Inject
private RedisTemplate<String, User> template;
template.opsForList().set("list", id, new User(id));
User user = template.opsForList().index("list", id);
User user = template.opsForList().leftPop(list);
Spring data integration
● Integração com Spring Cache
@Cacheable
public User getUser(Long id) {
...
}
Redis for (dev)ops
● Monitoração (info/monitor)
● src/redis-benchmark
● Slaveof
● Redis Cluster
● redis.conf
Redis for (dev)ops - redmon
Típicos cenários de uso
● Sistemas de Ranking
● Contadores/Estatística
● N items em um período T de tempo
● Pub/Sub
● Caching

Introdução ao redis