要说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慢慢淡出了人们的视野。