redis - marcelo tozzi - lomadee

29
http://redis.io domingo, 11 de dezembro de 2011

Upload: marcelo-de-lima

Post on 13-May-2015

235 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Redis - Marcelo Tozzi - Lomadee

http://redis.io

domingo, 11 de dezembro de 2011

Page 2: Redis - Marcelo Tozzi - Lomadee

Jim Gray

“MEMORY IS THE NEW DISK. DISK IS THE NEW

TAPE.”

domingo, 11 de dezembro de 2011

Page 3: Redis - Marcelo Tozzi - Lomadee

VAMOS FALAR DE REDIS

Mas primeiro...

domingo, 11 de dezembro de 2011

Page 4: Redis - Marcelo Tozzi - Lomadee

NOSQL Mudança de paradigma

SQL?

Cada “problema” uma solução mais adequada de persistência.

domingo, 11 de dezembro de 2011

Page 5: Redis - Marcelo Tozzi - Lomadee

domingo, 11 de dezembro de 2011

Page 6: Redis - Marcelo Tozzi - Lomadee

domingo, 11 de dezembro de 2011

Page 7: Redis - Marcelo Tozzi - Lomadee

QUANDO USAR?

Cache

Stock prices

Sharding Directory Service

Real time data collection

Real time communication

Analytics

domingo, 11 de dezembro de 2011

Page 8: Redis - Marcelo Tozzi - Lomadee

REDIS, QUE DIABOS É ISSO?

domingo, 11 de dezembro de 2011

Page 9: Redis - Marcelo Tozzi - Lomadee

CHAVE-VALOREstrutura de dados

domingo, 11 de dezembro de 2011

Page 10: Redis - Marcelo Tozzi - Lomadee

CHAVE VALORVALORVALORVALORVALOR

user:1 name Ayrton ageage 23

user:2 name João phonephone 555-555

user:1:friends user:2 user:3 user:4user:4 user:5

user:3 name José emailemail [email protected]

user:4 name Mario ageage 34

user:5 name Mara ageage 25

user:1:acess 140

user:1:token H13NDSME3MDSSR6MG6H13NDSME3MDSSR6MG6H13NDSME3MDSSR6MG6

domingo, 11 de dezembro de 2011

Page 11: Redis - Marcelo Tozzi - Lomadee

CLIENTS PARA REDIS:ActionScriptCC#C++ClojureCommon LispErlangFancyGoHaskellhaXeIo

JavaLuaNode.jsObjective-CPerlPHPPure DataPythonRubyScalaSmaltalkTcl

domingo, 11 de dezembro de 2011

Page 12: Redis - Marcelo Tozzi - Lomadee

KEYS

Você pesquisa pela chave.

Todas as chaves ficam na memória.

O(1)

Chaves longas, má idéia.

Chaves curtas, má idéia também.

Tente seguir um padrão.

domingo, 11 de dezembro de 2011

Page 13: Redis - Marcelo Tozzi - Lomadee

No terminal...

Inicie o server:

Inicie o client:

Insira um registro:

domingo, 11 de dezembro de 2011

Page 14: Redis - Marcelo Tozzi - Lomadee

REDIS DATA TYPES

String

Lists

Hashes

Sets

Sorted Sets

domingo, 11 de dezembro de 2011

Page 15: Redis - Marcelo Tozzi - Lomadee

STRINGS

domingo, 11 de dezembro de 2011

Page 16: Redis - Marcelo Tozzi - Lomadee

APPEND key value

DECR key

DECRBY key decrement

GET key

GETBIT key offset

GETRANGE key start end

GETSET key value

INCR key

INCRBY key increment

MGET key [key ...]

MSET key value [key value ...]

MSETNX key value [key value ...]

SET key value

SETBIT key offset value

SETEX key seconds value

SETNX key value

SETRANGE key offset value

STRLEN key

domingo, 11 de dezembro de 2011

Page 17: Redis - Marcelo Tozzi - Lomadee

LISTS

domingo, 11 de dezembro de 2011

Page 19: Redis - Marcelo Tozzi - Lomadee

HASHES

domingo, 11 de dezembro de 2011

Page 21: Redis - Marcelo Tozzi - Lomadee

SETS

domingo, 11 de dezembro de 2011

Page 23: Redis - Marcelo Tozzi - Lomadee

SORTED SETS

domingo, 11 de dezembro de 2011

Page 24: Redis - Marcelo Tozzi - Lomadee

ZADD key score member [score] [member]ZCARD keyZCOUNT key min maxZINCRBY key increment memberZINTERSTORE destination numkeys key [key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]ZRANGE key start stop [WITHSCORES]ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]ZRANK key memberZREM key member [member ...]ZREMRANGEBYRANK key start stopZREMRANGEBYSCORE key min maxZREVRANGE key start stop [WITHSCORES]ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]ZREVRANK key memberZSCORE key memberZUNIONSTORE destination numkeys key [key ...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

domingo, 11 de dezembro de 2011

Page 25: Redis - Marcelo Tozzi - Lomadee

SNAPSHOTTINGredis.conf:

save 900 1

save 300 10

save 60 10000

dbfilename dump.rdb

dir ./

Nome do arquivo:

Diretório do dump:

domingo, 11 de dezembro de 2011

Page 26: Redis - Marcelo Tozzi - Lomadee

REPLICATION

slaveof <masterip> <masterport>

redis.conf:

masterauth <master-password>

SLAVE

SLAVE

requirepass <pass>MASTER

domingo, 11 de dezembro de 2011

Page 28: Redis - Marcelo Tozzi - Lomadee

CODE...

domingo, 11 de dezembro de 2011