Memcache与Redis的区别都有哪些

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 前面的文章两篇文章聊聊Redis是如何做到“持久化”和[ 分布式缓存中间件Redis入门](分布式缓存中间件Redis入门 (qq.com))主要介绍了分布式缓存系统——redis。作为缓存系统的还有Memcached,今天就来说说这两个缓存系统有什么区别。

前面的文章两篇文章聊聊Redis是如何做到“持久化”和[ 分布式缓存中间件Redis入门](分布式缓存中间件Redis入门 (qq.com))主要介绍了分布式缓存系统——redis。作为缓存系统的还有Memcached,今天就来说说这两个缓存系统有什么区别。


1、Memcached


Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。由于许多的Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,通过在内存中缓存数据和对象来减少数据库访问次数,从而提高动态Web等应用的速度、 提高可扩展性。


2、Redis


Redis则是一个key-value存储系统,它支持存储的value类型:包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。关于redis的更多内容具体的可以参考文章 分布式缓存中间件Redis入门


3、区别


存储方式:Memecache把数据全部存在内存之中,断电后会挂掉,数据不能超过内存大小。Redis有部份存在硬盘上,redis可以持久化其数据。


数据支持类型:memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 ,提供list,set,zset,hash等数据结构的存储。


使用底层模型不同:它们之间底层实现方式 以及与客户端之间通信的应用协议不一样。Redis直接自己构建了VM 机制 ,因为一般的系统调用系统函数的话,会浪费一定的时间去移动和请求。


value 值大小不同:Redis 最大可以达到 1gb;memcache 只有 1mb。


速度:redis的速度比memcached快很多


Redis支持数据的备份,即master-slave模式的数据备份 。


架构层次:Redis 支持主从模式应用,memcache 支持分布式。


结尾


本文主要对分布式缓存系统Memecache和redis做一个简单的介绍和总结。如果有不正确的地方欢迎指正!

目录
相关文章
|
存储 NoSQL Redis
11- Redis 和 Memcached 的区别有哪些?
Redis与Memcached的主要区别在于:Redis提供复杂数据结构和丰富的操作,而Memcached只支持简单字符串;Redis原生支持集群,Memcached不支持;Memcached数据无法持久化,重启会丢失,但Redis支持持久化并能在重启后恢复数据。
218 12
|
存储 缓存 NoSQL
【分布式】Redis与Memcache的对比分析
【1月更文挑战第25天】【分布式】Redis与Memcache的对比分析
|
9月前
|
存储 NoSQL Redis
redis主从集群与分片集群的区别
主从集群通过主节点处理写操作并向从节点广播读操作,从节点处理读操作并复制主节点数据,优点在于提高读取性能、数据冗余及故障转移。分片集群则将数据分散存储于多节点,根据规则路由请求,优势在于横向扩展能力强,提升读写性能与存储容量,增强系统可用性和容错性。主从适用于简单场景,分片适合大规模高性能需求。
370 5
|
10月前
|
存储 NoSQL 关系型数据库
MySQL和Redis的区别
**MySQL和Redis的区别** MySQL和Redis都是流行的数据存储解决方案,但它们在设计、用途和特性上有显著区别。理解这些区别有助于选择合适的数据库来满足不同的应用需求。本文将详细介绍MySQL和Redis的区别,包括它们的架构、使用场景、性能和其他关键特性。 ### 一、基本概述 **MySQL**: MySQL是一个关系型数据库管理系统(RDBMS),使用结构化查询语言(SQL)进行数据管理。它支持事务、复杂查询和多种存储引擎,广泛应用于各种Web应用、企业系统和数据分析项目。 **Redis**: Redis是一个基于内存的键值数据库,通常被称为NoSQL数
625 4
|
12月前
|
NoSQL 网络协议 Unix
1)Redis 属于单线程还是多线程?不同版本之间有什么区别?
1)Redis 属于单线程还是多线程?不同版本之间有什么区别?
278 2
|
12月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
240 0
|
存储 缓存 NoSQL
Redis问题之Redis与Memcached的主要区别是什么
Redis问题之Redis与Memcached的主要区别是什么
173 3
|
NoSQL Redis
TongRDS与Redis数据类型的对比、开发板、标准版、企业版区别
TongRDS与Redis数据类型的对比、开发板、标准版、企业版区别
615 2
|
存储 消息中间件 NoSQL
Redis 和 数据库区别
【7月更文挑战第12天】
145 0
|
消息中间件 NoSQL Kafka
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别