2020年7月30日
摘要: mysql的查询流程一般是:mysql客户端通过协议与mysql服务器建立连接,发送查询语句,先检查查询缓存,如果命中,直接返回结果,否则进行语句解析,有一系列预处理,比如检查语句是否写正确了,然后是查询优化(比如是否使用索引扫描,如果是一个不可能的条件,则提前终止),生成查询计划,然后查询引擎启动 阅读全文
posted @ 2020-07-30 18:10 围龙小子 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 事务的特性(Atomicity) 原子性 -- 回滚日志 一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。 C(Consistency) 一 阅读全文
posted @ 2020-07-30 17:54 围龙小子 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。 为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。 下图为级联结构。 全量同步Redis全量复制 阅读全文
posted @ 2020-07-30 15:57 围龙小子 阅读(4590) 评论(0) 推荐(1) 编辑
摘要: 复制步骤: Slave 上面的IO线程连接上 Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容 Master 接收到来自 Slave 的 IO 线程的请求后,通过负责复制的 IO 线程根据请求信息读取指定日志指定位置之后的日志信息,返回给 Slave 端的 IO 线程 阅读全文
posted @ 2020-07-30 15:44 围龙小子 阅读(449) 评论(0) 推荐(0) 编辑
  2020年7月29日
摘要: mongodb部署有2种模式: 1、复制集 Replica Set 2、集群 shard 一、复制集复制集:是一组 mongod 实例组成,提供了数据冗余与高可用性成员:主节点(Primary)和从节点(Secondaries)最基础的复制集架构是由三个节点组成的,最常见的是 一个主节点和两个从节点 阅读全文
posted @ 2020-07-29 17:35 围龙小子 阅读(510) 评论(0) 推荐(0) 编辑
  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) 编辑