`

Redis 序列之六——Redis与Memcached的比较

 
阅读更多

 一、内存管理方面:

        Memcached使用预分配的内存池的方式,带来一定程度的空间浪费 并且在内存仍然有很大空间时,新的数据也可能会被剔除;

        Redis使用现场申请内存的方式来存储数据,不会剔除任何非临时数据 Redis更适合作为存储而不是cache。

二、网络IO模型方面:

       Memcached是多线程,分为监听线程、worker线程,引入锁,带来了性能损耗;

       Redis使用单线程的IO复用模型,将速度优势发挥到最大,也提供了较简单的计算功能。

三、数据持久化方面:

       Memcached 不支持持久化,它把数据全部存在内存之中,断电后会挂掉数据不能超过内存大小;

       Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

四、数据的一致性方面:

       Memcached提供了cas命令来保证;

       Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断。

五、数据存储方式方面:

       Memcached只支持简单的key-value存储;

       Redis除了支持string类型数据结构之外,还支持list、set、zset、hash等数据结构。

分享到:
评论

相关推荐

    分布式缓存 Redis + Memcached 经典面试题!.zip

    3. Redis 与 Memcached 的比较: - 数据类型:Redis 支持丰富的数据结构,而 Memcached 只支持简单的字符串。 - 持久化:Redis 提供持久化机制,而 Memcached 不具备。 - 性能:在纯内存操作下,两者性能相近,但...

    django-redis组件

    总的来说,`django-redis` 是 Django 应用与 Redis 结合的桥梁,它使得开发者能够充分利用 Redis 的优势,提升 Web 应用的性能和用户体验。在项目中合理地使用 `django-redis`,不仅能优化缓存策略,还能简化会话...

    php-redis函数整理

    - `get` 和 `set`:基础的读写操作,与Memcached的API相似。`set`可选参数`time`用于设置数据的过期时间。 - `getSet`:同时获取和设置键的值,如果键已存在,其值将被新值替换并返回旧值。 - `getMultiple`:...

    Redis面试专题及答案(上).pdf

    2、Redis与memcached的比较 Redis与memcached相比的优势主要体现在数据类型的支持、读写速度以及数据持久化方面。首先,memcached仅支持简单的字符串类型,而Redis支持更丰富的数据类型,如列表、集合、有序集合等。...

    memcache&redis构建缓存服务器.pdf

    Redis与Memcached相比,同样提供了高性能的内存数据结构存储系统,但Redis提供了更多的数据结构和更丰富的功能,如持久化存储和发布订阅等。Redis的安装和配置与Memcached类似,但其功能更为强大,支持的数据结构...

    面试题redis面试题集合.pdf

    与Redis类似,Memcached也是一个内存缓存系统,主要用途是通过减轻数据库负载来加速动态Web应用。Memcached只支持简单的键值对存储,相比Redis,在存储小数据时具有更高的性能和内存利用率。 具体地,Redis与...

    Redis64位windows版3.2

    Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,由Salvatore Sanfilippo开发,最初是为了解决Memcached在某些特定场景下的性能问题。作为一个开源项目,Redis采用ANSI C语言编写,支持网络通信...

    .NET Core中使用Redis与Memcached的序列化问题详析

    本文将探讨如何在.NET Core环境中处理Redis与Memcached的序列化问题,并以StackExchange.Redis和EnyimMemcachedCore为具体实现库。 首先,让我们了解一下几种常见的序列化方法。系统自带的`System.Runtime....

    Redis面试知识点.pdf

    #### 42、memcached与redis的区别? - **数据持久化**:Redis支持数据持久化,而memcached不支持。 - **数据类型**:Redis支持更丰富的数据类型。 - **事务支持**:Redis支持事务,memcached不支持。 - **内存管理*...

    java操作redis

    3. **序列化与反序列化**:在 Java 应用程序中,通常需要将 Java 对象序列化为二进制数据后再存入 Redis,反之亦然。常见的序列化框架包括 JSON、Protobuf 等。 4. **异步与非阻塞**:Redisson 等客户端库提供了...

    redis-2.4.5-win32-win64.zip

    Redis,全称Remote Dictionary Server,是一款高性能的键值存储系统,由Salvatore Sanfilippo开发,最初是为了解决Memcached在某些场景下的性能瓶颈而设计的。它以其丰富的数据结构支持、高效的性能和简单易用的命令...

    (2024)Redis,快看看这40道面试题.pdf

    Redis 相比 Memcached 的优势 - **数据结构丰富**:除了基本的键值存储外,还提供了更多的数据结构。 - **持久化支持**:可通过 RDB 或 AOF 实现数据的持久化。 - **事务支持**:允许将多个命令作为一个原子性操作...

    redis合集,redis学习及面试资料

    1. Redis与Memcached的对比:两者都是内存数据库,但Redis支持更丰富的数据结构,且提供持久化和主从复制功能,而Memcached仅支持简单的键值对。 2. Redis性能优化:包括合理配置内存大小、选择合适的持久化策略、...

    redis、memcached、nginx、libevent中抽取的常用的C工具库.zip

    "redis、memcached、nginx、libevent"都是知名的开源项目,它们在构建高性能网络服务方面发挥着重要作用。这些项目的源码中包含了许多实用的C工具库,我们可以从中学习到很多关于C编程和系统级编程的知识。以下将...

    Redis面试专题及答案(下).pdf

    与Redis相比,Memcached仅支持简单的key-value存储,没有数据持久化功能。 在高并发的情况下,单线程的Redis有时比多线程的Memcached效率更高,主要原因在于Redis使用的多路复用技术,使单线程可以高效地处理多个...

    Redis缓存服务

    这个库使得在.NET环境中使用Redis变得更加简单,提供了诸如连接池管理、序列化支持以及与.NET对象直接映射等功能。 7. **集群支持**:Redis还支持集群模式,可以将数据分布到多个节点上,提高系统的可扩展性和容错...

    tomcat7+redis完成session共享

    2. **选择Session共享策略**:Tomcat提供了几种Session共享方式,包括JDBC、Memcached和Redis。这里我们选用Redis,需要添加相关依赖。在每个Tomcat实例的`WEB-INF/lib`目录下,添加Redis的Java客户端库,如`jedis....

Global site tag (gtag.js) - Google Analytics