聊聊Redis和Memcached有啥区别?

要说redis和memcached有啥区别这事吧?说起来就比较多,随着redis的功能越来越完善和强大,现在使用memcached的公司基本没有了,这里我们就来聊聊redis作者给出的几点区别吧。

1、redis支持服务端的数据操作

redis相比memcached来说,拥有更多的数据结构并且支持丰富的数据操作。
通常在memcached里,你需要将数据拿到客户端来进行类似的修改在set回去。这就大大增加网络IO的次数和数据的体积。
在redis中,这些复杂的操作通常和一般的GET/SET一样高效。
所以如果需要缓存能够支持更复杂的结构和操作,那么redis会是一个不错的选择。

2、内存使用率对比

使用简单的key-value存储的话,memcached的内存使用率更高,而如果redis采用hash结构来做key-value存储的,由于某组合式的压缩,其内存使用率会高于memcached。

3、性能对比

由于redis只使用单核,而memcached可以使用多核,所以平均每个核上redis在存储小数据时性能上比memcached性能高,而在100k以上的数据中memcached的性能高。虽然redis也在存储大数据的性能上进行优化,但是比起memcached来说还是稍逊一筹。

4、集群模式

memcached没有原生的集群模式,需要依赖客户端来实现往集群中分片写入数据,而redis原生就支持claster模式的。

基本就这四点了,其实我觉得主要也就1、4比较重要点,其它的也就不是那么重要。

而且现在确实memcached慢慢淡出了人们的视野。

阅读 120

推荐阅读
非学无以广才
用户专栏

喷泉之所以漂亮是因为她有了压力;瀑布之所以壮观是因为她没有了退路;水之所以能穿石是因为永远在坚持。

13 人关注
45 篇文章
专栏主页