Roberto Marin

Propaganda
decacheanosql.
RobertoMarin
[email protected]
https://github.com/robertomarin/redis-de-cache-a-nosql
https://slides.com/robertomarin/redis
REDIS?
REmoteDIctionaryServer
Criadoem2009por
SalvatoreSanfilippo
OQUEOREDISNÃOÉ
Somenteumkey/valuestore:Memcached
Umbancodedadosrelacional:MySQL,Oracle,PostGre
Umbancoorientadoadocumentos:MongoDB,CouchDB
Umcache:RedisétãopersistentequandoPostGre
->RedisPersistenceDemystified
ANOTÍCIA
REDISMEMCACHEMEMCACHED
DOCUMENTACÃO
http://redis.io/documentation
http://redis.io/commands
http://redis.io/clients
http://try.redis.io
INSTALANDOOREDIS
Baixeaversãoatual:http://redis.io/download
Descompacte
$make
$maketest
$makeinstall
INICIANDOOREDIS
$redis-serverredis.conf
GETTINGSTARTED$_CONSOLE
INFO
GET/SET
INCR/DECR
CLIENTESJAVA
Jedis
(maismaduro,maisconhecido)
Redisson
(interessante,diferentesfeatures)
EXEMPLOS{$CODE}
Redis01.java
Redis02.java
CONFIGURAÇÃO
redis.conf
redis-1200.conf
REPLICAÇÃO
$SLAVEOFhostport
SHARDING
Oqueésharding?
Quandodevousarsharding?
SHARDING
ConfiguraçõesdosShards
IniciarosShards
Exemplo:
Redis03Sharding.java
ISTHISREALLIFE?
CEP-CÓDIGOPOSTAL
BaseemMySQL
CachecomRedis
CepTest.java
Performance?!~
CEPDAOCOMREDIS
antesDeIrNoBanco()
tentarecuperardoredis;
senãofornulo
transformaemobjeto;
retornaobjeto;
senão
recuperadobanco;
transformaemstring(json);
armazenanoredis;
retornaobjeto;
CepRedisDaoTest.java
OQUETEMDEBOM?
temosumcache:)
OQUETEMDERUIM?
acoplamento:(
umaclasseextra;@
QUEMPODERÁNOSDEFENDER?
AOP
aspectorientedprogramming
MASOQUEÉAOPMESMO?
SQL+REDIS+AOP
Lembrando,estamosresolvendo:
acoplamento:(
umaclasseextra;@
CepAopTest.java
OQUETEMDEBOM?
únicocódigoparatodos:D
poucoacoplamento;P
OQUETEMDERUIM?
pointcutnãoétãocustomizável=(
eseeuquisercolocarumexpires:@
SQL+REDIS+AOP+@ANNOTATION
=
POWER
SQL+REDIS+AOP+@ANNOTATION
CepAopTest.java
RedisAnnotationAspect.java
OQUETEMDEBOM?
únicocódigoparatodos:D
poucoacoplamento;P
expireseoutrasfeatures=)
OQUETEMDERUIM?
nãosei,maspodeficarmelhor!
ESEAFONTEDEDADOSCAIR?
webservice
bancodedados
COMOOCACHEPODENOSAJUDAR?
emvezdeguardarmosapenasoobjetonoredis
NÓSGUARDAMOSUMENVELOPE
quetemoobjetodentro!:D
SQL+REDIS+AOP+@ANNOTATION+HA
RedisAnnotationHAAspect.java
ÉCERTOFAZERISSO?
AGORAQUEAGENTEFEZTUDOISSO...
PorquenãodeixartodaabasedeCEPsnoRedis?
Éconfiável?
OUTRASESTRUTURASCOMREDIS
HASHES
LISTS
SETS
SORTEDSETS
+
=
Obrigado!
Dúvidas?:)
RobertoMarin
[email protected]
Download