2020年7月28日
摘要: 概要 当redis集群的主节点故障时,Sentinel集群将从剩余的从节点中选举一个新的主节点,有以下步骤: 故障节点主观下线 故障节点客观下线 Sentinel集群选举Leader Sentinel Leader决定新主节点 选举过程 1、主观下线 Sentinel集群的每一个Sentinel节点 阅读全文
posted @ 2020-07-28 19:40 围龙小子 阅读(2464) 评论(2) 推荐(0) 编辑
摘要: 数据分区 槽的分配 Redis Cluster采用虚拟槽分区,将所有键使用哈希函数映射到编号为0~16383槽(slot)内,每个节点拥有一部分的槽 → 分布式存储 通过以下方式计算key属于哪一个slot: slot = CRC16(key) % 16384 每个节点只需要维护自己被分配的slot 阅读全文
posted @ 2020-07-28 19:25 围龙小子 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.cnblogs.com/L-Test/p/11626124.html 破解孤独 Redis ==> 集群的三种模式 一、主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬 阅读全文
posted @ 2020-07-28 19:13 围龙小子 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1、保存逻辑: 当 AOF 持久化功能处于打开状态时, 服务器在执行完一个写命令之后, 会以协议格式将被执行的写命令追加到服务器状态的 aof_buf 缓冲区的末尾。 服务器配置 appendfsync 选项的值直接决定 AOF 持久化功能的效率和安全性。 当 appendfsync 的值为 alw 阅读全文
posted @ 2020-07-28 19:06 围龙小子 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, RDB 程序可以通过载入 RDB 文件来还原数据库的状态。 RDB 功能最核心的是 rdbSave 和 rdbLoad 两个函数, 前者用于生成 RDB 文件到磁盘, 而后者则用于将 RDB 阅读全文
posted @ 2020-07-28 18:52 围龙小子 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 定时删除 定时删除策略对内存是最友好的: 因为它保证过期键会在第一时间被删除, 过期键所消耗的内存会立即被释放。 这种策略的缺点是, 它对 CPU 时间是最不友好的: 因为删除操作可能会占用大量的 CPU 时间 —— 在内存不紧张、但是 CPU 时间非常紧张的时候 (比如说,进行交集计算或排序的时候 阅读全文
posted @ 2020-07-28 18:39 围龙小子 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 参考:http://origin.redisbook.com/internal/db.html Redis 有四个命令可以设置键的生存时间(可以存活多久)和过期时间(什么时候到期): EXPIRE 以秒为单位设置键的生存时间; PEXPIRE 以毫秒为单位设置键的生存时间; EXPIREAT 以秒为 阅读全文
posted @ 2020-07-28 18:37 围龙小子 阅读(238) 评论(0) 推荐(0) 编辑