Redis 混合存储最佳实践指南
Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与存储成本的完美平衡。
架构及特性
命令兼容
混合存储兼容绝大多数 Redis 命令,与原生 Redis 相比,如下命令不支持或受限制;不支持的主要原因是考虑到性能,如业务中有使用到,请提交工单。
Keys(键) | List(链表) | Scripting(Lua脚本) |
---|---|---|
RENAME | LINSERT | SCRIPT 不支持LOAD和DEBUG子命令 |
RENAMENX | LREM | |
MOVE | ||
SWAPDB | ||
SORT 不支持STORE选项 |
选型指南 - 场景
选型指南 - 规格
选择混合存储实例时,需要选择合适的【内存配置 + 磁盘配置】;磁盘决定能存储的数据总量,内存决定能存储的热数据总量,实例生产时会根据存储的规格配置选择合适的CPU资源配置,目前暂不支持自定义CPU核数。
比如【64GB内存 + 256GB磁盘】实例,意思是实例最多能存储 256GB 的数据(以KV存储引擎的物理文件总大小为准),其中 64GB 数据可以缓存在内存。
案例1:用户A 使用 Redis Cluster 存储了 100GB 的数据,总的访问QPS不到2W,其中80%的数据都很少访问到。用户A 可以使用 【32GB内存 + 128GB磁盘】 混合存储实例,节省了近 70GB 的内存存储,存储成本下降50%+。
案例2:用户B 在IDC自建 Pika/SSDB 实例,解决Redis存储成本高的问题,存储了约 400GB 的数据,其中活跃访问的在10%左右,集群运维负担很重,想迁移至云数据库;用户B 可以使用 【64GB内存 + 512GB磁盘】混合存储实例,来保证免运维的同时,服务质量不下降。
注:因 Redis 数据存储到 KV 存储引擎,每个key都会额外元数据信息,存储空间占用会有一定的放大,建议在磁盘空间选择上,留有适当余量,按实际存储需求的 1.2 - 1.5倍预估。
性能指标
Redis 混合存储的性能与内存磁盘配比,以及业务的访问高度相关;根据规格配置及业务访问模式的不同,简单 set/get 的性能可在几千到数万之间波动。最好情况所有的访问都内存命中,性能与 Redis 内存版基本一致;最差情况所有的访问都需要从磁盘读取。
测试场景:2000w key,value大小为1KB,25%的热key能存储在内存,get 请求测试数据如下
测试集 | 内存版(100%数据在内存) | 混合存储版(25%数据在内存) |
---|---|---|
随机访问 | 12.3(万) | 1.5 |
高斯分布80%的概率访问20%的key | 12.0 | 5.4 |
高斯分布99%的概率访问1%的key | 13.5 | 11.4 |
应用场景
视频直播类
视频直播类业务往往存在大量热点数据,大部分的请求都来自于热门的直播间。使用 Redis 混合存储型实例,内存中保留热门直播间的数据,不活跃的直播间数据被自动存储到磁盘上,可以达到对有限内存的最佳利用效果。
电商类
电商类应用有大量的商品数据,新上架的商品会被频繁访问,而较老的商品访问热度不高;使用 Redis 混合存储型实例,可以轻松突破内存容量限制,将大量的商品数据存储到磁盘,在正常业务请求中,活跃的商品数据会逐步缓存在内存中,以最低的成本满足业务需求。
在线教育类
在线教育类的场景,有大量的课程、题库、师生交流信息等数据,通常只有热门课程、最新题库题库会被频繁访问; 使用 Redis 混合存储型,将大量的课程信息存储到磁盘,活跃的课程、题库信息会换入到内存并常驻内存,保证高频访问数据的性能,实现性能与存储成本的平衡。
其他场景
其他数据访问有明显冷热特性,对性能要求不高的场景均可使用Redis混合存储来降低存储成本。
原文链接
本文为云栖社区原创内容,未经允许不得转载。
Redis 混合存储最佳实践指南相关推荐
- jemeter多场景混合案例_Redis 混合存储最佳实践指南
Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与 ...
- ASP.NET Core Web API 最佳实践指南
原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 介绍 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但是,你难 ...
- dita最佳实践指南_艺术资产–最佳做法指南
dita最佳实践指南 Unity支持来自各种程序或来源的纹理3D模型. 该简短指南由游戏美术师和Unity开发人员共同整理,以帮助您创建在Unity项目中可以更好,更高效地工作的资产. 这将在适当时候 ...
- 阿里云Redis混合存储典型场景:如何轻松搭建视频直播间系统
摘要: 本文主要介绍视频直播间系统,以及如何使用阿里云Redis混合存储实例方便快捷的构建大数据量,低延迟的视频直播间服务. 背景 视频直播间作为直播系统对外的表现形式,在整个系统中处于核心地位.通常 ...
- 硅谷python_来自硅谷的Python最佳实践指南 | 极客时间
这几年,学 Python 的程序员的确越来越多了,甚至不少人把 Python 当作第一语言来学习.也难怪,Python 的优点太多了,它语言简洁.开发效率高.可移植性强,并且可以和其他编程语言(比如 ...
- kicad最小布线宽度默认是多少_CABLExpress发布了最新的光纤布线最佳实践指南
前言: 大家好,我是薛哥.CABLExpress最近发布了最新的<光纤布线最佳实践指南>,根据TIA-942数据中心标准,根据自身的现场经验,对该公司的Skinny-Trunk布线产品进行 ...
- python编程之美pdf_GitHub - Farolding/toPdf: 爬取“Python编程之美:最佳实践指南”制作PDF电子书...
准备工作 爬取HTML页面转成PDF需要用到wkhtmltopdf工具,下载地址:https://wkhtmltopdf.org/downloads.html ,pdfkit是wkhtmltopdf的 ...
- ROS机器人操作系统最佳实践指南
----ROS Best Practices:https://github.com/ethz-asl/ros_best_practices/wiki---- 这是使用机器人操作系统(ROS)的最佳实践 ...
- python最佳实践指南试题_8.1. 关于这份指南
与 Tcl.Perl.Ruby.Scheme 以及 Java 类似,Python 是一门用途广泛的高级编程语言.它的一些关键特性有: 语法清晰.可读性极佳 Python 的设计哲学着眼于可读性,它以缩 ...
最新文章
- 一个Bug能有多大影响:亏损30亿、致6人死亡、甚至差点毁灭世界...
- mpvue 微信小程序api_第三方框架与原生微信小程序开发框架性能之比较 | Q荐读...
- oracle中做数据字典,oracle中数据字典是干嘛用的啊
- bzoj3884 上帝与集合的正确用法
- OpenCV4.0 Mask RCNN 实例分割示例 C++/Python实现
- 一个用户在同一时间只能登录一次
- Etherpad配置及管理功能
- 小实验:PC9与PC10连通的命令操作
- 随机编码生成器MD5加密字符串工具
- shell清除cach
- 从李子柒到张同学,田园乡村成创业热土?
- ArrayDeque集合的妙用
- 设计模式(一)——六大原则
- 小明的游戏(博弈论)
- java中.level_java中的Level level是什么意思呢
- 当 GUC 参数 enable_dynamic_workload 设置为 on
- python做路径图_初学者福利:python路线图
- 行星怎么画简单又漂亮,有手就会系列,超级简单!
- 计算机水平考试模块数量,全国职称计算机考试合格通过模块数量表.doc
- 十大云服务器服务商评测\排名
热门文章
- 847方波放大电路_分析运放7大经典电路,有图有真相,详解每个电路原理!
- 简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验
- 程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化
- arcgis标注牵引线_解析ArcGis的标注(三)——标注的放置 与 转注记修改
- 云片短信php接口_php与阿里云短信接口接入
- 手机qq和电脑qq怎么同步消息_手机QQ接入华为HMS!停止运行也能接收消息
- 一图详解清华北大各学科全球权威排名
- 期待三分天下开源芯片有其一
- 4562亿元教育经费收从哪里花向何处
- 诗人也出数学题,出的有趣又深刻