Redis - Marcelo Tozzi - Lomadee
-
Upload
felipe-guimaraes -
Category
Technology
-
view
233 -
download
1
Transcript of Redis - Marcelo Tozzi - Lomadee
![Page 2: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/2.jpg)
Jim Gray
“MEMORY IS THE NEW DISK. DISK IS THE NEW
TAPE.”
domingo, 11 de dezembro de 2011
![Page 3: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/3.jpg)
VAMOS FALAR DE REDIS
Mas primeiro...
domingo, 11 de dezembro de 2011
![Page 4: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/4.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/5.jpg)
domingo, 11 de dezembro de 2011
![Page 6: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/6.jpg)
domingo, 11 de dezembro de 2011
![Page 7: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/7.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/8.jpg)
REDIS, QUE DIABOS É ISSO?
domingo, 11 de dezembro de 2011
![Page 9: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/9.jpg)
CHAVE-VALOREstrutura de dados
domingo, 11 de dezembro de 2011
![Page 10: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/10.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/11.jpg)
CLIENTS PARA REDIS:ActionScriptCC#C++ClojureCommon LispErlangFancyGoHaskellhaXeIo
JavaLuaNode.jsObjective-CPerlPHPPure DataPythonRubyScalaSmaltalkTcl
domingo, 11 de dezembro de 2011
![Page 12: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/12.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/13.jpg)
No terminal...
Inicie o server:
Inicie o client:
Insira um registro:
domingo, 11 de dezembro de 2011
![Page 14: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/14.jpg)
REDIS DATA TYPES
String
Lists
Hashes
Sets
Sorted Sets
domingo, 11 de dezembro de 2011
![Page 15: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/15.jpg)
STRINGS
domingo, 11 de dezembro de 2011
![Page 16: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/16.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/17.jpg)
LISTS
domingo, 11 de dezembro de 2011
![Page 18: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/18.jpg)
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
![Page 19: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/19.jpg)
HASHES
domingo, 11 de dezembro de 2011
![Page 20: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/20.jpg)
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
![Page 21: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/21.jpg)
SETS
domingo, 11 de dezembro de 2011
![Page 22: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/22.jpg)
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
![Page 23: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/23.jpg)
SORTED SETS
domingo, 11 de dezembro de 2011
![Page 24: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/24.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/25.jpg)
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](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/26.jpg)
REPLICATION
slaveof <masterip> <masterport>
redis.conf:
masterauth <master-password>
SLAVE
SLAVE
requirepass <pass>MASTER
domingo, 11 de dezembro de 2011
![Page 27: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/27.jpg)
E MAIS...
DBSIZE
INFO
SLAVEOF host port
BGSAVE
FLUSHALL
FLUSHDB
SAVE
domingo, 11 de dezembro de 2011
![Page 28: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/28.jpg)
CODE...
domingo, 11 de dezembro de 2011
![Page 29: Redis - Marcelo Tozzi - Lomadee](https://reader034.fdocument.pub/reader034/viewer/2022052523/55526dbab4c905d41d8b527d/html5/thumbnails/29.jpg)
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