Redis - Marcelo Tozzi - Lomadee
-
Upload
felipe-guimaraes -
Category
Technology
-
view
234 -
download
1
Transcript of Redis - Marcelo Tozzi - Lomadee
Jim Gray
“MEMORY IS THE NEW DISK. DISK IS THE NEW
TAPE.”
domingo, 11 de dezembro de 2011
VAMOS FALAR DE REDIS
Mas primeiro...
domingo, 11 de dezembro de 2011
NOSQL Mudança de paradigma
SQL?
Cada “problema” uma solução mais adequada de persistência.
domingo, 11 de dezembro de 2011
domingo, 11 de dezembro de 2011
domingo, 11 de dezembro de 2011
QUANDO USAR?
Cache
Stock prices
Sharding Directory Service
Real time data collection
Real time communication
Analytics
domingo, 11 de dezembro de 2011
REDIS, QUE DIABOS É ISSO?
domingo, 11 de dezembro de 2011
CHAVE-VALOREstrutura de dados
domingo, 11 de dezembro de 2011
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
CLIENTS PARA REDIS:ActionScriptCC#C++ClojureCommon LispErlangFancyGoHaskellhaXeIo
JavaLuaNode.jsObjective-CPerlPHPPure DataPythonRubyScalaSmaltalkTcl
domingo, 11 de dezembro de 2011
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
No terminal...
Inicie o server:
Inicie o client:
Insira um registro:
domingo, 11 de dezembro de 2011
REDIS DATA TYPES
String
Lists
Hashes
Sets
Sorted Sets
domingo, 11 de dezembro de 2011
STRINGS
domingo, 11 de dezembro de 2011
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
LISTS
domingo, 11 de dezembro de 2011
BLPOP key [key ...] timeout
BRPOP key [key ...] timeout
BRPOPLPUSH source destination timeout
LINDEX key index
LINSERT key BEFORE|AFTER pivot value
LLEN key
LPOP key
LPUSH key value [value ...]
LPUSHX key value
LRANGE key start stop
LREM key count value
LSET key index value
LTRIM key start stop
RPOP key
RPOPLPUSH source destination
RPUSH key value [value ...]
RPUSHX key value
domingo, 11 de dezembro de 2011
HASHES
domingo, 11 de dezembro de 2011
HDEL key field [field ...]
HEXISTS key field
HGET key field
HGETALL key
HINCRBY key field increment
HKEYS key
HLEN key
HMGET key field [field ...]
HMSET key field value [field value ...]
HSET key field value
HSETNX key field value
HVALS key
domingo, 11 de dezembro de 2011
SETS
domingo, 11 de dezembro de 2011
SADD key member [member ...]
SCARD key
SDIFF key [key ...]
SDIFFSTORE destination key [key ...]
SINTER key [key ...]
SINTERSTORE destination key [key ...]
SISMEMBER key member
SMEMBERS key
SMOVE source destination member
SPOP key
SRANDMEMBER key
SREM key member [member ...]
SUNION key [key ...]
SUNIONSTORE destination key [key ...]
domingo, 11 de dezembro de 2011
SORTED SETS
domingo, 11 de dezembro de 2011
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
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
REPLICATION
slaveof <masterip> <masterport>
redis.conf:
masterauth <master-password>
SLAVE
SLAVE
requirepass <pass>MASTER
domingo, 11 de dezembro de 2011
E MAIS...
DBSIZE
INFO
SLAVEOF host port
BGSAVE
FLUSHALL
FLUSHDB
SAVE
domingo, 11 de dezembro de 2011
CODE...
domingo, 11 de dezembro de 2011
REFERÊNCIAS
http://redis.iohttp://www.slideshare.net/MaxwellDayvson/redis-e-as-facilidades-de-trabalhar-com-um-banco-de-dados-nosqlhttp://www.slideshare.net/gleicon/lesprit-de-lescalierhttp://www.paperplanes.de/2010/2/16/a_collection_of_redis_use_cases.htmlhttp://highscalability.com/blog/2011/7/6/11-common-web-use-cases-solved-in-redis.html
domingo, 11 de dezembro de 2011