stackoverflow上面有人问过这个问题《Is memcached a dinosaur in comparison to Redis?》,redis的作者给出了解答(http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur-in-comparison-to-redis)。整体上说,两者的性能都很好,不必为哪个性能更高而纠结。不过,redis提供的持久化和数据同步机制,这些都是memcached没有的,所以如果你想要持久化,就只能用redis了。另外,memcached足以应付简单的键值存储,不过你要是想用更高级的数据结构,比如hash,list,set,zset之类的,redis提供了这些类型,用着更方便。
前厂是这么用的:
protobuf
编码存入memcached,一周失效期,作为MySQL的二级缓存总结:
json
的包装和解析会成为瓶颈,所以后来我们全部换成了json
的包装和解析会成为瓶颈,所以后来我们全部换成了protobuf
需要除key/value之外的更多数据类型支持时或存储的数据不能被剔除时,使用Redis更合适。而如果只是简单的缓存数据,显然使用memcached更加合适。或者说,相比来说,redis更加适合存储,而memcache更加适合缓存。
需要
频繁查询
且变化频率不是太高
的都是这两位的用点所在stackoverflow上面有人问过这个问题《Is memcached a dinosaur in comparison to Redis?》,redis的作者给出了解答(http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur-in-comparison-to-redis)。整体上说,两者的性能都很好,不必为哪个性能更高而纠结。不过,redis提供的持久化和数据同步机制,这些都是memcached没有的,所以如果你想要持久化,就只能用redis了。另外,memcached足以应付简单的键值存储,不过你要是想用更高级的数据结构,比如hash,list,set,zset之类的,redis提供了这些类型,用着更方便。