系统架构师备考倒计时23天(每日知识点)Redis篇

Redis篇

1.Redis与Memcache能力对比

工作 MemCache Redis
数据类型 简单 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运算分片 可以把数据分配到不同实例,这类似于取余操作,余数相同的,放在一个实例上。
一致性哈希分片 哈希分片的改进 可以有效解决重新分配节点带来的无法命中问题。
相关推荐
Oak Zhang2 小时前
sharding-jdbc自定义分片算法,表对应关系存储在mysql中,缓存到redis或者本地
redis·mysql·缓存
门牙咬脆骨3 小时前
【Redis】redis缓存击穿,缓存雪崩,缓存穿透
数据库·redis·缓存
门牙咬脆骨3 小时前
【Redis】GEO数据结构
数据库·redis·缓存
墨鸦_Cormorant4 小时前
使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
redis·nginx·docker
Dlwyz7 小时前
问题: redis-高并发场景下如何保证缓存数据与数据库的最终一致性
数据库·redis·缓存
飞升不如收破烂~8 小时前
redis的List底层数据结构 分别什么时候使用双向链表(Doubly Linked List)和压缩列表(ZipList)
redis
吴半杯10 小时前
Redis-monitor安装与配置
数据库·redis·缓存
会code的厨子11 小时前
Redis缓存高可用集群
redis·缓存
程序员JerrySUN11 小时前
熟悉的 Docker,陌生的 Podman
linux·docker·容器·系统架构·podman
尽兴-12 小时前
Redis模拟延时队列 实现日程提醒
java·redis·java-rocketmq·mq