Redis 和 Memcache 的性能对比基础篇



由于redis只能使用单核,而memcache可以使用多核,所以在比较上,平均每一个核上redis在储存小数据时比memccache性能更高。而却100K以上数据中,memcache性能要高于redis,虽然redis最近也在储存大数据的性能上进行优化,但是比起memcached还是有点逊色。结论是无论你使用那个,每秒处理请求的次数都不会成为瓶颈。
你需要关注内存使用率。对于key-vlaue这样简单的数据储存,memcache的内存使用率更高,如果采用hash结构,redis的内存使用率会更高,当然这都依赖于具体的应用场景。、
你需要关注数据持久化和主从复制时只有redis拥有这两个特性。如果你的目标是构建一个缓存在升级或者重启之前的数据不会丢失的话,只能选择redis
Redis和memcache的不同

1、数据支持类型:

Redis不仅支持简单的k/v类型的数据,同时还支持list、set、zset(sorted set)、hash等数据结构的存储,使得它拥有更广阔的应用场景。【字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)。】 

2、储存方式:

Redis最大的亮点是支持数据持久化,它在运行的时候可以将数据备份在磁盘中,断电或重启后,缓存数据可以再次加载到内存中,只要Redis配置的合理,基本上不会丢失数据。 

3、Redis支持主从模式的应用:

即master-slave模式的数据备份。Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcached只是简单的K/V缓存

4、Redis单个value的最大限制是1GB,而Memcached则只能保存1MB内的数据。
5、Memcache在并发场景下,能用cas保证一致性,而Redis事务支持比较弱,只能保证事务中的每个操作连续执行。 
6、性能方面,根据网友提供的测试,Redis在读操作和写操作上是略领先Memcached的。
7、Memcached的内存管理不像Redis那么复杂,元数据metadata更小,相对来说额外开销就很少。Memcached唯一支持的数据类型是字符串string,非常适合缓存只读数据,因为字符串不需要额外的处理。

你可能感兴趣的:(数据库)