前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Memcache 和 Redis 相关知识点总结(杂记)

Memcache 和 Redis 相关知识点总结(杂记)

作者头像
海涛
发布于 2019-12-16 08:59:13
发布于 2019-12-16 08:59:13
3770
举报
文章被收录于专栏:海涛技术日常海涛技术日常

主要区别:

1.持久化,Redis 可以,memcache不可以

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

3.过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 1

4.集群方式,memcache基于客户端集群,redis3.0开始支持服务器端集群,Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,各个节点地位一致,具有线性可伸缩的功能

5.redis 支持发布订阅模式

-----------------------------------------------------------

存储相关的知识点比较:

Memcache内存分配如下图

总结:slab 获取page ,切分为 自己负责大小区域的 chunk,比如负责0-104byte 的chunk,存储20byte的数据就会有84浪费掉,

这样设计是为了防止内存碎片

基于上述优化方式:

1.为数据尺寸区间小的业务分配专用的memcached实例。这样可以调小 -f 参数,使数据集中存在少数几个slab上,内存浪费较少

2.不要存储大于1M的数据,会跨多个chunk

memcache 客户端

memcache for java 和 spymemcache

Redis 满足ACID特效,但是A,原子性特特效需要注意:

1.单个命令具有原子性

2.事务的话,基本保持原子性,要么都执行,要么都不执行,如何事务中的命令执行中失败,前面的不会回滚,后面的继续执行

Transaction tx = jedis.multi();

Redis持久化的三种方法(最后一种已过期2.4开始)

RDB快照方式

AOF日志方式

虚拟内存方式(desprecated)

Redis的几种集群方式

从前到后进阶

主从复制->哨兵模式->cluster 模式

合理使用 Batch 和PipeLine模式提高效率

Pipeline pipeline = jedis.pipelined();

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 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基础详解
伴随着数据信息化的发展,网站的访问量的提升,使用关系型数据库已经在性能上出现瓶颈,问题出现的源头一般是再磁盘的I/O上,因此随着互联网的发展,需要达到以下几个方面的需求:
去之那
2021/04/17
4500
刚去面试现场聊了一个多小时的Redis ,悄悄分享给大家!
>Redis作为目前的主流NoSql数据库,不会是不可能的,在面试中也是非常高频的,一定不能在这个环节丢分,不管是学习,还是面试,以下知识点,都有必要掌握。博主会持续不断地来更新,希望大家可以支持我。
Java小咖秀
2020/07/06
6240
刚去面试现场聊了一个多小时的Redis ,悄悄分享给大家!
Redis 性能优化 18招
为了提升Redis的性能,这篇文章跟大家一起聊聊Redis性能优化的18招,希望对你会有所帮助。
苏三说技术
2024/11/19
5240
Redis 性能优化 18招
面试题Redis最常被问到知识点总结
redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库
搜云库技术团队
2019/10/14
3820
【Redis面试】基础题总结(下)
blpop/brpop:从列表的左侧/右侧弹出一个数据,若列表为空则进入阻塞状态。
小尘要自信
2023/10/10
2040
【Redis面试】基础题总结(下)
程序员的50大Redis面试问题及答案-上
Redis是一个开放源代码(BSD许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的NoSQl数据库。
鱼找水需要时间
2023/12/25
1810
程序员的50大Redis面试问题及答案-上
网络上收集的有关 Redis 方面的面试题
假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来 使用keys指令可以扫出指定模式的key列表 ### 对应的问题 因为redis 是单线程 所以一次性操作大量的数据 可能会导致业务出现卡顿 ### 解决办法 这个时候可以使用scan指令,scan指令可以无阻塞的提取出指定模式的key列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用keys指令长. Redis有哪些数据结构? 字符串String、字典H
风清醉
2019/12/18
4770
关于memcache内核,全网最通俗的讲解!(由浅入深,值得收藏)
memcache曾经是互联网分层架构中,使用最多的的KV缓存,如今却几乎被 redis 替代。 画外音:你还在用mc吗,还是redis? 但memcache的内核设计,却值得每一个技术人学习和借鉴。 第一部分:知其然 关于memcache一些基础特性,使用过的小伙伴必须知道: (1)mc的核心职能是KV内存管理,value存储最大为1M,它不支持复杂数据结构(哈希、列表、集合、有序集合等); (2)mc不支持持久化; (3)mc支持key过期; (4)mc持续运行很少会出现内存碎片,速度不会随着服务运行时
架构师之路
2022/06/16
4180
关于memcache内核,全网最通俗的讲解!(由浅入深,值得收藏)
Redis 知识点汇总
友情提示:此篇文章大约需要阅读 26分钟6秒,不足之处请多指教,感谢你的阅读。订阅本站
Meng小羽
2020/04/03
5120
Redis知识点总结(一)
Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把redis数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
Vincent-yuan
2021/05/11
6660
Redis知识点总结(一)
Redis和Memcache区别,优缺点对比
个人总结一下,有持久化需求或者对数据结构和处理有高级要求的应用,选择redis,其他简单的key/value存储,选择memcache。
Cheng_Blog
2022/02/25
3.9K0
Redis
Redis是一个开放源代码(BSD许可)的内存中数据结构存储,可用作数据库,缓存和消息代理,是一个基于键值对的NoSQl数据库。
Java小咖秀
2020/07/06
6360
Redis
redis memcache 区别_缓存redis的五种方式
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:
全栈程序员站长
2022/11/15
4260
《吐血整理》Redis 性能优化的 13 条军规!
从以上数据可以看出,在 key 不变的情况下,value 值越大操作效率越慢,因为 Redis 对于同一种数据类型会使用不同的内部编码进行存储,比如字符串的内部编码就有三种:int(整数编码)、raw(优化内存分配的字符串编码)、embstr(动态字符串编码),这是因为 Redis 的作者是想通过不同编码实现效率和空间的平衡,然而数据量越大使用的内部编码就越复杂,而越是复杂的内部编码存储的性能就越低。
磊哥
2020/03/27
6710
「查缺补漏」巩固你的Redis知识体系
链接: https://pan.baidu.com/s/1MJnzX_qRuNXJI09euzkPGA 提取码: 2c6w 复制这段内容后打开百度网盘手机App,操作更方便哦
Kerwin
2020/08/10
7460
「查缺补漏」巩固你的Redis知识体系
Redis使用手册
Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、 Key-Value数据库。
HUC思梦
2020/09/03
8450
Redis使用手册
Redis 和 Memcached 的区别
说到redis就会联想到memcached,反之亦然。了解过两者的同学有那么个大致的印象:redis与memcached相比,比仅支持简单的key-value数据类型,同时还提供list,set,zset,hash等数据结构的存储;redis支持数据的备份,即master-slave模式的数据备份;redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用等等,这似乎看起来redis比memcached更加牛逼一些,那么事实上是不是这样的呢?存在即合理,我们来根据几个不同点来
wangxl
2018/03/09
1.3K0
Redis 和 Memcached 的区别
Redis性能优化18招
Redis作为一个高性能的键值存储系统,在现代应用中扮演着越来越重要的角色。无论是在Web应用、移动应用、游戏还是大数据分析等领域,Redis都能提供快速的数据访问速度和优秀的性能。然而,随着数据量的不断增长,如何优化Redis的性能成为了一个重要的课题。这篇文章将分享Redis性能优化的18招,希望对你会有所帮助。
用户11397231
2024/12/10
1630
Redis性能优化18招
两个通宵熬出来的互联网大厂最新面试题收集整理1000道(三-Memcached),欢迎点赞收藏!!!
  最近接触到很多面试相关的内容,所以就专门整理了以下,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈。 后续会出专门的面试视频专题,欢迎关注。
用户4919348
2021/06/29
3480
相关推荐
memcache和redis的区别
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档