• 软考系统架构之案例篇(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重写,都不会阻塞
    数据体积同等数据体积:小同等数据体积:大
    安全性数据安全性:低,容易丢数据数据安全性:高,根据策略决定
  • 相关阅读:
    第11章 使用类
    解密Prompt系列16. LLM对齐经验之数据越少越好?LTD & LIMA & AlpaGasus
    inpaint-anything:分割任何东西遇到图像修复
    RBTree(红黑树)模拟实现(插入)
    回溯法(Java)
    重学数据库进阶
    Android studio2021工程将动态库so编译进apk
    《Upload-Labs》01. Pass 1~13
    Linux基础篇——认识指令
    赋能型细分定位该不该选择?—— FB推广
  • 原文地址:https://blog.csdn.net/qq_41273999/article/details/134085834