当前位置: 首页 > news >正文

软考系统架构之案例篇(Redis相关概念)

案例篇-Redis相关概念

  • 1. Redis与Memcache能力对比
  • 2. Redis集群切片的常见方式
  • 3. Redis分布式存储方案
  • 4. Redis数据分片方案
  • 5. Redis持久化

1. Redis与Memcache能力对比

工作MemCacheRedis
数据类型简单 key/value 结构丰富的数据结构
持久性不支持支持
分布式存储客户端哈希分片/一致性哈希多种方式,主从、Sentinel、Cluster 等
多线程支持支持支持(Redis5.0及以前版本不支持)
内存管理私有内存池/内存池
事务支持不支持有限支持
数据容灾不支持,不能做数据恢复支持,可以在灾难发生时,恢复数据

2. Redis集群切片的常见方式

集群切片方式核心特点
客户端分片在客户端通过key的hash 值对应到不同的服务器。
中间件实现分片在应用软件和 Redis 中间,例如:Twemproxy、Codis 等,由中间件实现服务到后台Redis节点的路由分派。
客户端服务端协作分片客户端与服务端协作完成分片处理。

3. Redis分布式存储方案

分布式存储方案核心特点
主从(Master/Slave)模式一主多从,故障时手动切换。
哨兵(Sentinel)模式有哨兵的一主多从,主节点故障自动选择新的主节点。
集群(Cluster)模式分节点对等集群,分slots,不同slots的信息存储到不同节点。

4. Redis数据分片方案

分片方案分片方式说明
范围分片按数据范围值来做分例:按用户编号分片,0-999999 映射到实例A;1000000-1999999映射到实例 B。
哈希分片通过对key进行hash运算分片可以把数据分配到不同实例,这类似于取余操作,余数相同的,放在一个实例上。
一致性哈希分片哈希分片的改进可以有效解决重新分配节点带来的无法命中问题。

5. Redis持久化

RDB:传统数据库中快照的思想。指定时间间隔将数据进行快照存储。

AOF:传统数据库中日志的思想,把每条改变数据集的命令追加到AOF 文件末尾,这样出问题了,可以重新执行AOF文件中的命令来重建数据集。

对比维度RDB持久化AOF 持久化
备份量重量级的全量备份,保存整个数据库轻量级增量备份,一次只保存一个修改命令
保存间隔时间保存间隔时间长保存间隔时间短,默认1秒
还原速度数据还原速度快数据还原速度慢
阻塞情况save会阻塞,但bgsave 或者自动不会阻塞无论是平时还是AOF重写,都不会阻塞
数据体积同等数据体积:小同等数据体积:大
安全性数据安全性:低,容易丢数据数据安全性:高,根据策略决定
http://www.lryc.cn/news/209059.html

相关文章:

  • 黑客入门指南,学习黑客必须掌握的技术
  • 定档11月2日,YashanDB 2023年度发布会完整议程公布
  • composer安装thinkphp6报错
  • 此页面不能正确地重定向
  • 【Apache Flink】实现有状态函数
  • Android原生项目集成uniMPSDK(Uniapp)遇到的报错总结
  • Linux redis 安装
  • 在Win11上部署ChatGLM3详细步骤
  • 系列七、动态代理
  • Kafka集群搭建与SpringBoot项目集成
  • 一个简单的注册的页面,如有错误请指正;(3.JavaScript)
  • selenium (自动化概念 测试环境配置)
  • Mybatis-Plus(企业实际开发应用)
  • Spring Web MVC入门
  • 【C++】mapset的底层结构 -- AVL树(高度平衡二叉搜索树)
  • 吴恩达《机器学习》1-4:无监督学习
  • 一个简单的注册页面,如有错误请指正(2.css)
  • 【Unity精华一记】特殊文件夹
  • Node.js中的单线程服务器
  • 如何删除数组中的某个元素?
  • Apache ActiveMQ RCE漏洞复现(CNVD-2023-69477)
  • 【BUG】Nginx转发失败解决方案
  • 综合OA管理系统源码 OA系统源码
  • 9-MySQL提高数据管理效率(分库分表实践)
  • 经典卷积神经网络 - NIN
  • leetcode_2558 从数量最多的堆取走礼物
  • 01. 嵌入式与人工智能是如何结合的?
  • vue3.0运行npm run dev 报错Cannot find module node:url
  • 26. 删除排序数组中的重复项、Leetcode的Python实现
  • 荣耀推送服务消息分类标准