Redis e Memcached - Daniel Naves - Omnilogic

14
Redis vs Memcached Daniel Naves de Carvalho - [email protected]

description

 

Transcript of Redis e Memcached - Daniel Naves - Omnilogic

Page 1: Redis e Memcached - Daniel Naves - Omnilogic

Redis vs MemcachedDaniel Naves de Carvalho - [email protected]

Page 2: Redis e Memcached - Daniel Naves - Omnilogic

OmniLogicOmniLogic

• Since nov/2009

• Data-Mining

• Computational Intelligence

• Optimization

• Business Intelligence

Page 3: Redis e Memcached - Daniel Naves - Omnilogic

MemcachedMemcached

• Free & open source

• High-performance

• Distributed memory object caching system

• Generic in nature, but intended for use in speeding up dynamicweb applications by alleviating database load.

• In-memory key-value store for small chunks of arbitrary data (strings,objects from database calls, API calls etc)

• At heart it is a simple Key-Value store

Page 4: Redis e Memcached - Daniel Naves - Omnilogic

Memcached - ClientsMemcached - Clients

• C / C++• PHP• Java• Python• Ruby• Perl• Windows/.NET• MySQL• PostgreSQL• Erlang• Lua• Lisp• ColdFusion• OCaml• Io• etc

Page 5: Redis e Memcached - Daniel Naves - Omnilogic

FeaturesFeatures

• Simple Key-Value Store

• Servers are disconected from each other

• Forgetting data is a feature(LRU)

• O(1)

Page 6: Redis e Memcached - Daniel Naves - Omnilogic

Redis vs MemcachedRedis vs MemcachedRedis Memcached

In Memory x x

Persistent x

Atomic x x

Consistent x x

Replication x

Authentication x

Key / Value x x

Key Enumeration x

Key / Value buckets x

Page 7: Redis e Memcached - Daniel Naves - Omnilogic

Redis vs MemcachedRedis vs MemcachedRedis Memcached

Maximum Key Length 2^31bytes 250 bytes

Maximum String size 512m 1m

Data Structures x

Channel Pub/Sub x

Consistent hasing x x

Memory Usage 10-20% less

Speed(Single Instance, Multicore)

100.000 req/s 125.000 req/s

Speed(Multiple Instances, Single Thread)

200.000 req/s 200.000 req/s

Page 8: Redis e Memcached - Daniel Naves - Omnilogic

Redis – Real Use CasesRedis – Real Use Cases

• RReal-time model-prediction cachingeal-time model-prediction caching

• Page fragments caching

• Jobs Queue

Page 9: Redis e Memcached - Daniel Naves - Omnilogic

Redis – Network layoutRedis – Network layout

Page 10: Redis e Memcached - Daniel Naves - Omnilogic

Page fragments cachingPage fragments caching

• Speedup +5x

• Low memory usage

• Faster than pre-render file caching

Page 11: Redis e Memcached - Daniel Naves - Omnilogic

Jobs QueueJobs Queue

• Easy to maintain

• Persistent

• Multi-queue multi-workers

Page 12: Redis e Memcached - Daniel Naves - Omnilogic

ResqueResque

Page 13: Redis e Memcached - Daniel Naves - Omnilogic

RReal-time model-prediction cachingeal-time model-prediction caching

• Speed-up +100x

• Faster sorting vs Lib Sorting

• Easy to maintain

• Scales horizontally

Page 14: Redis e Memcached - Daniel Naves - Omnilogic

Questions???