Redis
Redis
baburwang
让分享成就你我!
展开
-
Redis 汇总
Redis0. 声明1. 概述1.1 Redis是什么?1.2 Redis优缺点1.3 为什么要用 Redis /为什么要用缓存?1.4 Redis为什么这么快?2. 常用数据结构2.1 String应用场景2.2 List应用场景2.3 Set应用场景2.4 Zset应用场景2.5 Hash应用场景3. 持久化3.1 RDB3.2 AOF3.3 选择哪种持久化方式4. 过期键的删除策略4.1 定时删除4.2 惰性删除4.3 定期删除5. 内存淘汰策略5.1 noeviction5.2 allkeys-lr原创 2020-05-24 23:02:46 · 1786 阅读 · 2 评论 -
Redis 持久化
Redis 持久化1. 持久化的意义2. RDB 持久化2.1 RDB 文件的创建与载入2.2 自动间隔性保存3. AOF 持久化3.1 AOF 持久化的实现3.1.1 命令追加3.1.2 AOF 文件的写入和同步3.2 AOF 文件的载入与数据还原3.3 AOF 重写3.3.1 AOF 重写的实现3.3.2 AOF 后台重写4. 两种持久化方式的优点和缺点4.1 RDB 持久化机制的优点和缺点4.2 AOF 持久化机制的优点和缺点5. RDB和AOF到底该如何选择1. 持久化的意义 &nbs原创 2020-06-13 19:23:44 · 1547 阅读 · 0 评论 -
Redis 主从复制架构
Redis 主从复制架构1. 单机版的局限2. 主从复制架构分析3. 主从复制原理3.1 旧版复制功能的实现3.1.1 同步3.1.2 命令传播3.1.3 旧版复制的缺陷3.2 新版复制功能的实现3.3 部分重同步的实现3.3.1 复制偏移量3.3.2 复制积压缓冲区3.3.3 服务器运行 ID1. 单机版的局限 单机版的局限性在哪里? 如原创 2020-06-13 20:34:48 · 619 阅读 · 0 评论 -
Redis 哨兵架构
Redis 哨兵架构1. 主从复制架构的局限2. 哨兵架构3. 哨兵工作步骤4. 获取主服务器信息5. 获取从服务器信息6. 向主服务器和从服务器发送信息7. 接受来自主服务器和从服务器的频道信息7. 检测主观下线8. 检测客观下线9. 选举领头 Sentinel10. 故障转移10.1 选出新的主服务器10.2 修改从服务器的复制目标10.3 将旧的主服务器变为从服务器11. 集群脑裂1. 主从复制架构的局限 可用性有原创 2020-06-13 22:10:26 · 519 阅读 · 0 评论 -
Redis 集群架构
Redis Cluster1. 哨兵架构的局限性2. Redis 集群架构3. 槽指派4. 在集群中执行命令4.1 计算键属于哪个槽1. 哨兵架构的局限性 在哨兵架构中,虽然我们可以利用哨兵在主服务器宕机时,快速、自动地选择一个新的主服务器,但是在选择的这段时间依然无法进行写操作。 同时,如果我们想使Redis的存储能力达到1T,那么主从架原创 2020-06-13 22:58:14 · 1225 阅读 · 0 评论 -
Redis 数据安全
Redis 数据安全1. 前言2. 缓存与数据库双写时的数据一致性2.1 cache aside pattern2.2 cache aside pattern 一定能保证数据一致性吗2.3 数据库与缓存更新与读取操作进行异步串行化3. redis 的并发竞争问题该如何解决1. 前言 这里所说的数据安全并不是像Java语言中,多个线程修改一个变量如i++,造成结果错误。我们知道Redis是单线程的,即使有在多的客户端进行i+原创 2020-06-14 01:41:18 · 837 阅读 · 0 评论 -
Redis 分布式锁的实现
Redis分布式锁一、分布式锁场景介绍二、Redis 分布式锁的实现一、分布式锁场景介绍互联网秒杀抢优惠卷例如,如下一个减库存的示例,可以很明显看到,存在线程安全问题:@RestControllerpublic class MyController { @Autowired private StringRedisTemplate stringRedisTempl...原创 2019-11-22 22:20:26 · 317 阅读 · 0 评论 -
一致性哈希算法
一致性哈希算法一、为什么使用一致性哈希算法二、一致性哈希算法三、哈希偏斜一、为什么使用一致性哈希算法 在 Redis 分布式锁中,我们通过部署多台 Redis 的 Master 服务器解决Redis 的主从架构分布式锁失效的问题,详情请看Redis 分布式锁 。 &...原创 2019-11-23 00:19:21 · 342 阅读 · 0 评论 -
Redis - 跳表
跳表0. 前言1. 结构源码2. 创建3. 插入4. 删除5. 获取0. 前言 Redis的跳表在面试过程中,经常被问到,这里通过源码深入研究一个其实现原理。1. 结构源码// 跳表中的每一个节点的结构typedef struct zskiplistNode { // 成员对象,sds 结构 sds ele; // 分值 double score; // 后退指针,指向当前节点原创 2020-07-25 19:58:43 · 471 阅读 · 0 评论