您的当前位置:首页>全部文章>文章详情

【Redis】Redis与Memcached的区别

CrazyPanda发表于:2024-03-06 23:49:14浏览:274次TAG:

一、主要区别:

1.Redis是一个开源的内存数据结构存储,用作数据库,缓存和消息代理;
2.Memcached是一个免费的开源高性能分布式内存对象缓存系统,它通过减少数据库负载来加速动态Web应用程序。

memcached是高性能的分布式内存缓存服务器。
一般使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度、提高可扩展性。

redis是一个开源的内存数据库,它以键值对的形式存储数据。由于数据存储在内存中,因此Redis的速度很快,但是每次重启Redis服务时,其中的数据也会丢失,因此,Redis也提供了持久化存储机制,将数据以某种形式保存在文件中,每次重启时,可以自动从文件加载数据到内存当中。

二、数据存储系统方面:

Redis与Memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,redis支持数据的持久化,但是我们看一下具体的分析:

1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。
2 Redis支持数据的备份,即master-slave模式的数据备份。
3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

三、性能方面:

总体来讲,TPS方面redis和memcache差不多,要大于mongodb。

四、内存使用效率对比:
使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。

五、数据结构
Redis支持字符串,散列,列表,集合,有序集,位图,超级日志和空间索引;而Memcached支持字符串和整数。

六、执行速度

Memcached的读写速度高于Redis。

七、可靠性(持久化)

对于数据持久化和数据恢复,

redis支持(快照、AOF):依赖快照进行持久化,aof增强了可靠性的同时,对性能有所影响

memcache不支持,通常用在做缓存,提升性能;

MongoDB从1.8版本开始采用binlog方式支持持久化的可靠性

八、数据一致性(事务支持)

Memcache 在并发场景下,用cas保证一致性

redis事务支持比较弱,只能保证事务中的每个操作连续执行

mongoDB不支持事务

九、线程

Redis是单线程的;而,Memcached是多线程的。

猜你喜欢

【Redis】Redis中缓存穿透、击穿、雪崩以及解决方案
目录一、什么是Redis二、什么是缓存穿透三、什么是缓存击穿四、什么是缓存雪崩一、什么是RedisRedis是一个开源的内存数据存储系统,也是一个高性能的键值存储数据库。它支持多种数据结构,包括字符串、哈希表、列表、集合以及有序集合。Redis的特点是快速、灵活和可扩展。首先,Redis是一个内存数据存储系统,这意味着它将所有数据存储在内存中,因此具有非常快的读写速度。相比于传统的磁盘存储系统,Redis可以提供非常低的读写延迟,使得它非常适合需要快速响应的应用场景,如缓存、实时计算等。其次,R
发表于:2023-12-06 浏览:362 TAG:
【Redis】Redis配置详解
目录一、Redis查看当前配置命令二、Redis基本配置三、RDB全量持久化配置(默认开启)四、AOF增量持久化配置五、Redis key过期监听配置六、Redis内存淘汰策略七、总结一、Redis查看当前配置命令# Redis查看当前全部配置信息 127.0.0.1:6379> CONFIG GET * # Redis查看当前指定配置信息 127.0.0.1:6379> CONFIG GET 配置名
发表于:2024-08-12 浏览:313 TAG: #redis
【Redis】redis分布式缓存
目录一、单机安装Redis。二、Redis主从集群。2.1.集群结构2.2.准备实例和配置2.3.启动2.4.开启主从关系2.5.测试三、搭建哨兵集群。3.1.集群结构3.2.准备实例和配置3.3.启动3.4.测试四、搭建分片集群。4.1.集群结构4.2.准备实例和配置4.3.启动4.4.创建集群4.5.测试五、单点redis的问题。六、Redis持久化。1)RDB持久化。2) AOF持久化。3)RDB和AOF的对比。七、Redis主从。1)搭建主从架构。2) 主从数据同步原
发表于:2023-12-07 浏览:526 TAG:
【Redis】Redis 配置文件详解
Units 单位配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit,大小写不敏感。# Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # start
发表于:2024-03-10 浏览:377 TAG:
【Redis】Redis对象——内存回收,对象共享和空转时长
一. 内存回收         因为C语言不具备内存回收功能,所以Redis在自己的对象系统中构建了一个引用计数技术实现内存回收机制。通过这一机制,程序可以通过跟踪对象的引用计数信息,在适当的时候自动释放对象并进行内存回收。        内每一个对象的引用计数信息由redisObject结构的refcount属性记录:typedef struct redisObject {
发表于:2023-12-15 浏览:377 TAG:
【Redis】php中redis队列的使用
在TP6框架中,使用redis作为队列是一种常见的实现方式,redis是一款高性能的内存数据库,它支持队列数据结构,可以实现高效的消息队列功能。
发表于:2024-08-01 浏览:277 TAG: #redis
【Redis】Redis与Memcached的区别
一、主要区别:1.Redis是一个开源的内存数据结构存储,用作数据库,缓存和消息代理; 2.Memcached是一个免费的开源高性能分布式内存对象缓存系统,它通过减少数据库负载来加速动态Web应用程序。memcached是高性能的分布式内存缓存服务器。 一般使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度、提高可扩展性。redis是一个开源的内存数据库,它以键值对的形式存储数据。由于数据存储在内存中,因此Redis的速度很快,但是每次重启Redis服务时,其中的
发表于:2024-03-06 浏览:275 TAG:
【Redis】redis除了做缓存还能做什么
redis应该说是目前最受欢迎的nosql数据库之一了。redis通常被作为缓存组件,用作缓存数据。不过,除了可以缓存数据,其实redis可以做的事还有很多。下面列举几例,供大家参考。1、最新列表例如新闻列表页面最新的新闻列表,如果总数量很大的情况下,尽量不要使用select a from A limit 10,尝试redis的 LPUSH命令构建List,一个个顺序都塞进去就可以啦。不过万一内存清掉了咋办?          (推荐学习:Red
发表于:2024-06-20 浏览:283 TAG: