memcached vs redis

36
Memcached VS Redis [email protected] @淘淘淘淘

Upload: qianshi

Post on 06-May-2015

9.116 views

Category:

Technology


7 download

DESCRIPTION

Memcached vs redis

TRANSCRIPT

Page 1: Memcached vs redis

Memcached VS Redis

[email protected]@淘宝千石

Page 2: Memcached vs redis

使用开源软件的四要素

应用场景首先搞清楚用在什么地方,解决什么问题。软件特性有哪些优秀的特性和自己的需求契合。部署方案延续前人的成功,但不要重复他们的失败。应用 tips

魔鬼都在细节中,不了解她请不要说爱她。

Page 3: Memcached vs redis

时代的主题: web 2.0 三高

Page 4: Memcached vs redis

Memory is the new Disk, Disk is the new Tape.

Jim Gray为我们指明了方向

Page 5: Memcached vs redis
Page 6: Memcached vs redis

Memcached

A high-performance, distributed memory object caching system.

Intended for use in speeding up dynamic web applications by alleviating database load.

Page 7: Memcached vs redis

应用场景

Page 8: Memcached vs redis

软件特性

协议简单

基于 libevent的事件处理

内置内存存储方式

不互相通信的分布式

Page 9: Memcached vs redis

软件特性:内存模型

Page 10: Memcached vs redis

软件特性:内存模型(续)

Page 11: Memcached vs redis

软件特性:基于客户端的分布式

Page 12: Memcached vs redis

部署方案

Page 13: Memcached vs redis

应用 tips

/usr/bin/memcached -p 11211 -u nobody -m 3000 -c 30720

4GB物理内存的系统最大为memcached配置3GB内存可以保证不会有 swap。

memcached 服务器几乎不占用 CPU.

宕机重启: daemontools

持久化:memcachedb: 存储到 BerkleyDB。

Page 14: Memcached vs redis

应用 tips(续)

Consistent Hashing:避免牵一发而动全身。

Lazy Expiration:高效就是要少做事。

LRU:从缓存中有效删除数据的原理。

应用层的 CAS:解决并发问题。

Page 15: Memcached vs redis
Page 16: Memcached vs redis

设计草稿

Page 17: Memcached vs redis

Redis

Redis is an open source, advanced key-value store.

It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.

Page 18: Memcached vs redis

Redis is a collection of data structures exposed over the network.

Page 19: Memcached vs redis

应用场景

取最新 N个数据的操作排行榜应用,取 TOP N操作需要精准设定过期时间的应用计数器应用Uniq操作,获取某段时间所有数据排重值实时系统,反垃圾系统Pub/Sub构建实时消息系统构建队列系统缓存

Page 20: Memcached vs redis

redis-string

Page 21: Memcached vs redis

redis-list

Page 22: Memcached vs redis

redis-hash

Page 23: Memcached vs redis

redis-set

Page 24: Memcached vs redis

redis-zset

Page 25: Memcached vs redis

软件特性

In-memory storageSuper fastPersistenceHigh level data typesAtomicReplication, Sharding

Single-threaded

No dependencies

Page 26: Memcached vs redis

软件特性:内存模型

Page 27: Memcached vs redis

软件特性: zipmap结构省内存

Page 28: Memcached vs redis

软件特性: skiplist实时排序

Page 29: Memcached vs redis

部署方案:异构读写分离

Page 30: Memcached vs redis

应用 tips

做好容量规划,保证 In-memory。

不要过度依赖复制和持久化。

使用 pipeline减小网络 IO开销。

小心 Redis的内存碎片。

Page 31: Memcached vs redis

memcached VS redis

memcached多线程, redis单线程,但处理 qps都不会是瓶颈。

Redis在存储小数据时比Memcached性能更高。而在 100k以上的数据中,Memcached性能要高于 Redis。

redis支持数据持久化和数据同步。

redis拥有更多的数据结构和并支持更丰富的数据操作。

Page 32: Memcached vs redis

memcached vs redis

Page 33: Memcached vs redis

memcached vs redis

Page 34: Memcached vs redis

memcached vs redis

Page 35: Memcached vs redis

The end

尽量少的让计算机干重复的事情, cache everywhere.

再高效的系统也经不起滥用, to be internal。

No one-size-fit-all product, understanding the trade offs.

RTFC first, then using.

Page 36: Memcached vs redis

nosql资料合集

http://blog.nosqlfan.com