Geooo Blog

「离开世界之前 一切都是过程」

Mysql基础02 Mysql索引原理

title: “MySQL基础02-MySQL索引原理” subtitle: “” layout: post author: “Geooo” header-img: “” header-style: text tags: - MySQL MySQL索引的数据结构 在InnoDB中,表都是根据主键顺序以索引的形式存放的,InnoDB使用了 ...

MySQL基础01- 日志系统


Redis进阶知识05-哨兵机制

Redis哨兵机制 在主从模式下解决了主库的读压力,如果从库挂了,客户端还能继续向主库或者其他从库发送命令请求,但是如果主库出故障挂了就会导致以下两个问题: 客户端就无法向主库进行发送写命令的请求。 从库没有相对应的主库进行数据同步。 因此在 Redis中使用了 哨兵机制 实现了主从库自动切换的关键机制。 哨兵机制的基本流程 哨兵是一个运行在特殊模式下的Redis进...

Redis进阶知识04-主从复制原理

Redis的主从库模式 之所以Redis具有高可靠性,是因为Redis保证了 1.数据尽量少丢失(AOF和RDB保证了该点) 2.服务尽量少中断(Redis的做法是增大副本冗余量 — 即将一份数据同时保存在多个实例上) 主从间的”读写分离” Redis提供了 主从库模式 ,以保证数据副本的一致,主从库之间采用 '’读写分离” 的方式。 读操作:主库 和 从库都可以...

Redis进阶知识03-AOF和RDB实现原理

Redis持久化 AOF(Append Only File) AOF是如何实现的 AOF是 “写后日志” , 意思是先执行命令,把数据写入内存中,然后再记录日志,写进磁盘。(如下图) 传统数据库的日志,例如 redo log(重做日志),记录的是修改后的数据,而 AOF 里记录的是 Redis 收到的每一条命令,这些命令是以文本形式保存的。 因为AOF是在命令执行之后再记录的日志...

Redis进阶02-Redis高性能IO复用模型

Redis高性能IO复用模型 “单线程” Redis 我们通常说Redis是单线程,指的是 Redis在进行网络IO和键值对读写是由一个线程来完成的,这也是Redis对外提供键值对存储服务的主要流程。但Redis的其他功能,比如 持久化, 异步删除, 集群数据同步等,其实都是由额外的线程执行。 为什么Redis使用单线程? 避免多线程带来的并发访问控制问题:系统通常情况下会存在多个线...

Redis进阶01-Redis底层数据结构

Redis基本数据类型 Redis基本数据类型:String(字符串)、List(列表)、Set(集合)、ZSet(排序集合)、Hash(哈希) 底层数据结构有:动态字符串、 双向链表、压缩列表、跳表、整数数组 Redis全局哈希键值结构 键和值用了什么结构 为了实现从键到值的快速访问,Redis使用一个全局哈希来保存所有的key,value。一个哈希表就是一个数组,数组中每个...

leetcode11 盛最多水的容器

题目连接 https://leetcode-cn.com/problems/container-with-most-water/ Solution code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class Solution { public int maxArea(int[] height) { in...

JVM笔记汇总

Java虚拟机 内存模型 堆(Heap):线程共享,所有的对象实例以及数组都要在堆上分配,回收期主要管理和清理的内存空间。 方法区(Method Area):线程共享,存储已被虚拟机加载的类信息、静态变量、常量、即时编译器后的代码、运行时常量池。 Java虚拟机栈(JVM Stack):线程私有,存储局部变量表、操作数栈、动态链接、方法出口,对象指针。 本地方法...

计算机网络笔记 - 3

TCP的可靠传输原理 1. TCP可靠传输概览 首先解释一下什么是’可靠传输’:可靠传输就是保证传送方发送的字节流与接收方收到的字节流完全一致。 网络层是没有可靠传输机制的,尽自己最大的努力去进行交付。而传输层使用 TCP 实现可靠传输,TCP保证可靠传输机制有如下几种: 1) 校验和 Checksum 2) 序列号和确认应答机制 (重要) 3) 重传机制 (重要) ...