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 混合存储最佳实践指南相关推荐

  1. jemeter多场景混合案例_Redis 混合存储最佳实践指南

    Redis 混合存储实例是阿里云自主研发的兼容Redis协议和特性的云数据库产品,混合存储实例突破 Redis 数据必须全部存储到内存的限制,使用磁盘存储全量数据,并将热数据缓存到内存,实现访问性能与 ...

  2. ASP.NET Core Web API 最佳实践指南

    原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide 介绍 当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求. 但是,你难 ...

  3. dita最佳实践指南_艺术资产–最佳做法指南

    dita最佳实践指南 Unity支持来自各种程序或来源的纹理3D模型. 该简短指南由游戏美术师和Unity开发人员共同整理,以帮助您创建在Unity项目中可以更好,更高效地工作的资产. 这将在适当时候 ...

  4. 阿里云Redis混合存储典型场景:如何轻松搭建视频直播间系统

    摘要: 本文主要介绍视频直播间系统,以及如何使用阿里云Redis混合存储实例方便快捷的构建大数据量,低延迟的视频直播间服务. 背景 视频直播间作为直播系统对外的表现形式,在整个系统中处于核心地位.通常 ...

  5. 硅谷python_来自硅谷的Python最佳实践指南 | 极客时间

    这几年,学 Python 的程序员的确越来越多了,甚至不少人把 Python 当作第一语言来学习.也难怪,Python 的优点太多了,它语言简洁.开发效率高.可移植性强,并且可以和其他编程语言(比如 ...

  6. kicad最小布线宽度默认是多少_CABLExpress发布了最新的光纤布线最佳实践指南

    前言: 大家好,我是薛哥.CABLExpress最近发布了最新的<光纤布线最佳实践指南>,根据TIA-942数据中心标准,根据自身的现场经验,对该公司的Skinny-Trunk布线产品进行 ...

  7. python编程之美pdf_GitHub - Farolding/toPdf: 爬取“Python编程之美:最佳实践指南”制作PDF电子书...

    准备工作 爬取HTML页面转成PDF需要用到wkhtmltopdf工具,下载地址:https://wkhtmltopdf.org/downloads.html ,pdfkit是wkhtmltopdf的 ...

  8. ROS机器人操作系统最佳实践指南

    ----ROS Best Practices:https://github.com/ethz-asl/ros_best_practices/wiki---- 这是使用机器人操作系统(ROS)的最佳实践 ...

  9. python最佳实践指南试题_8.1. 关于这份指南

    与 Tcl.Perl.Ruby.Scheme 以及 Java 类似,Python 是一门用途广泛的高级编程语言.它的一些关键特性有: 语法清晰.可读性极佳 Python 的设计哲学着眼于可读性,它以缩 ...

最新文章

  1. 一个Bug能有多大影响:亏损30亿、致6人死亡、甚至差点毁灭世界...
  2. mpvue 微信小程序api_第三方框架与原生微信小程序开发框架性能之比较 | Q荐读...
  3. oracle中做数据字典,oracle中数据字典是干嘛用的啊
  4. bzoj3884 上帝与集合的正确用法
  5. OpenCV4.0 Mask RCNN 实例分割示例 C++/Python实现
  6. 一个用户在同一时间只能登录一次
  7. Etherpad配置及管理功能
  8. 小实验:PC9与PC10连通的命令操作
  9. 随机编码生成器MD5加密字符串工具
  10. shell清除cach
  11. 从李子柒到张同学,田园乡村成创业热土?
  12. ArrayDeque集合的妙用
  13. 设计模式(一)——六大原则
  14. 小明的游戏(博弈论)
  15. java中.level_java中的Level level是什么意思呢
  16. 当 GUC 参数 enable_dynamic_workload 设置为 on
  17. python做路径图_初学者福利:python路线图
  18. 行星怎么画简单又漂亮,有手就会系列,超级简单!
  19. 计算机水平考试模块数量,全国职称计算机考试合格通过模块数量表.doc
  20. 十大云服务器服务商评测\排名

热门文章

  1. 847方波放大电路_分析运放7大经典电路,有图有真相,详解每个电路原理!
  2. 简易航空订票系统_四川航空APP全新升级改版,三大亮点提升订票体验
  3. 程序的图标无法改变_安卓微信7.0.7内测版发布,细节更新,小程序功能优化
  4. arcgis标注牵引线_解析ArcGis的标注(三)——标注的放置 与 转注记修改
  5. 云片短信php接口_php与阿里云短信接口接入
  6. 手机qq和电脑qq怎么同步消息_手机QQ接入华为HMS!停止运行也能接收消息
  7. 一图详解清华北大各学科全球权威排名
  8. 期待三分天下开源芯片有其一
  9. 4562亿元教育经费收从哪里花向何处
  10. 诗人也出数学题,出的有趣又深刻