Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >redis和memcached的区别和使用场景

redis和memcached的区别和使用场景

作者头像
HUC思梦
发布于 2020-09-03 09:29:14
发布于 2020-09-03 09:29:14
8.7K0
举报

Redis 和 Memcached 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。

区别

1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;

2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;

3、虚拟内存–Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;

4、过期策略–memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;

5、分布式–设定memcache集群,利用magent做一主多从;redis可以做一主多从。也可以一主一从;

6、存储数据安全–memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);

7、灾难恢复–memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;

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

9、应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等。

使用场景

1、如果有持久方面的需求或对数据类型和处理有要求的应该选择redis。 2、如果简单的key/value 存储应该选择memcached。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
memcache和redis的区别
1.定义 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表 2.从数据结构 memcache 的工作就是在专门的机器的内存里维护一张巨大的 hash 表 redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、z
joshua317
2018/04/16
1.1K0
Redis简介以及和其他缓存数数据库的区别
Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。
Java后端技术
2018/08/09
1.2K0
Redis简介以及和其他缓存数数据库的区别
[956]memcached和redis区别
来源:https://www.jianshu.com/p/bda760565a2a https://blog.csdn.net/qq_18671415/article/details/104540628
周小董
2021/04/13
7310
Redis和Memcache区别,优缺点对比
个人总结一下,有持久化需求或者对数据结构和处理有高级要求的应用,选择redis,其他简单的key/value存储,选择memcache。
Cheng_Blog
2022/02/25
4K0
Redis基础详解
伴随着数据信息化的发展,网站的访问量的提升,使用关系型数据库已经在性能上出现瓶颈,问题出现的源头一般是再磁盘的I/O上,因此随着互联网的发展,需要达到以下几个方面的需求:
去之那
2021/04/17
4700
Redis和Memcached的区别
Redis和Memcache都是将数据存放在内存中,都是内存数据库。但是Memcache还可以缓存其他东西,比如图片、视频
用户7657330
2020/08/14
4790
Redis 介绍
watch 指令作用 实质:WATCH 只会在数据被其他客户端抢先修改了的情况下通知执行命令的这个客户端(通过 WatchError 异常)但不会阻止其他客户端对数据的修改
IT茂茂
2020/03/05
6430
Redis 介绍
Python面试题大全(四):数据库篇
主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null).
不吃西红柿
2022/07/29
6220
什么是redis,redis能做什么,redis应用场景
Redis是一个key-value存储系统。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。这篇文章小编为大家分享了在Windows下进行安装和使用Redis的技巧。
全栈程序员站长
2022/07/07
7600
Java面试——Redis
【1】完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中。 【2】数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的。 【3】采用单线程,避免不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。 【4】使用多路IO复用模型,非阻塞IO。利用epoll可以同时监察多个流的 IO事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 IO事件时,就从阻塞态中唤醒,epoll就轮询哪些真正发生了事件的流,并且只依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。多路指的是多个网络连接,“复用”指的是复用同一个线程。
Java架构师必看
2021/05/14
4320
【愚公系列】2022年12月 Redis数据库-Cache和Redis缓存的无缝切换使用
接下文:https://blog.csdn.net/aa2528877987/article/details/128235791
愚公搬代码
2022/12/09
7310
【愚公系列】2022年12月 Redis数据库-Cache和Redis缓存的无缝切换使用
Redis 和 Memcached 的区别
说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似乎看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢?存在即合理,我们来根据几个不同点来
wangxl
2018/03/09
1.4K0
Redis 和 Memcached 的区别
WordPress使用redis和memcached区别大吗?
在选择缓存时就纠结使用redis还是memcached作为数据库缓存,虽然心理原因对于我这种小博客使用哪一个差别应该都不大,抱着试试的心态,我把一台服务器上的两个WordPress分别使用了redis和memcached,虽然测试的时候只用了一个网站哈哈。
深白鸭
2023/03/06
6280
WordPress使用redis和memcached区别大吗?
老板:把系统从单体架构升级到集群架构!
如题,本文针对工作中实际经验,整理了把一个单体架构的系统升级成集群架构需要做的准备工作,以及为集群架构的升级做指导方针。
编程大道
2021/09/08
8370
老板:把系统从单体架构升级到集群架构!
NoSQL | Redis、Memcache、MongoDB特点、区别以及应用场景
本篇文章主要介绍Nosql的一些东西,以及Nosql中比较火的三个数据库Redis、Memcache、MongoDB特点、区别以及应用场景。
码神联盟
2018/03/26
2.3K3
三年java经验面试总结,整理了一些java面试题供参考
答:最大区别是等待时wait会释放锁,而sleep会一直持有锁,wait通常用于线程时交,互,sleep通常被用于暂停执行。
Java周某人
2019/08/23
11.9K0
三年java经验面试总结,整理了一些java面试题供参考
理论:第四章:Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存雪崩,缓存穿透,双删策略
redis是内存中的数据结构存储系统,一个key-value类型的非关系型数据库,可持久化的数据库,相对于关系型数据库(数据主要存在硬盘中),性能高,因此我们一般用redis来做缓存使用;并且redis支持丰富的数据类型,比较容易解决各种问题,因此redis可以用来作为注册中心,​数据库、缓存和消息中间件。Redis的Value支持5种数据类型,string、hash、list、set、zset(sorted set);
Java廖志伟
2022/09/28
7540
精选11道Java技术面试题并有答案(包含部分阿里和华为的面试题)
类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法去内,然后在堆区创建一个java.lang.Class对象,用来封装在方法区内的数据结构。类的加载最终是在堆区内的Class对象,Class对象封装了类在方法区内的数据结构,并且向Java程序员提供了访问方法区内的数据结构的接口。
java架构师
2018/08/23
4690
Redis 和 Memcached 的区别详解
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:
哲洛不闹
2018/09/18
6270
Redis 和 Memcached 的区别详解
Mongdb,Memcached,Redis的使用区别
简介 MongoDB更类似MySQL,支持字段索引、游标操作,其优势在于查询功能比较强大,擅长查询JSON数据,能存储海量数据,但是不支持事务。 Mysql在大数据量时效率显著下降,MongoDB更多时候作为关系数据库的一种替代。 内存管理机制 Redis数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的LRU算法删除数据。 MongoDB数据存在内存,由Linux系统mmap实现,当内存不够时,只将热点数据放入内存,其他数据存在磁盘。 支持的数据结构 Redis支持的数据结构丰富,包括hash、
用户1220053
2018/02/09
1.1K0
Mongdb,Memcached,Redis的使用区别
推荐阅读
相关推荐
memcache和redis的区别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档