摘要: 一、主从复制 1、主从怎么保持数据一致 Redis 的主从库同步有三种模式:全量复制、基于长连接的命令传播,以及增量复制。 1.第一次主从库同步 它们相互之间就可以通过 replicaof命令形成主库和从库的关系,之后会按照如下图所示三个阶段完成数据的第一次同步 FULLRESYNC 响应表示第一次 阅读全文
posted @ 2021-06-24 14:55 我是张某某 阅读(575) 评论(0) 推荐(0)
摘要: 二、链表 临值查找 hardhttps://www.acwing.com/problem/content/description/138/ 141.环形链表 mediumhttps://leetcode-cn.com/problems/linked-list-cycle/ 142.环形链表II me 阅读全文
posted @ 2021-06-18 11:40 我是张某某 阅读(43) 评论(0) 推荐(0)
摘要: Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB 快照 一、AOF日志(主线程执行) AOF日志记录了redis所有增删改的操作,保存在磁盘上,当redis宕机,需要恢复内存中的数据时,可以通过读取AOF日志恢复数据,从而避免因redis异常导致的数据 阅读全文
posted @ 2021-06-08 11:58 我是张某某 阅读(146) 评论(0) 推荐(0)
摘要: 1.Redis 真的只有单线程吗? 通常说,Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。但 Redis 的其他功能,比如持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。 2.Redis 为 阅读全文
posted @ 2021-06-07 13:42 我是张某某 阅读(243) 评论(0) 推荐(0)
摘要: 一、redis快速的原因:1、在内存中进行操作 2、高效的数据结构 底层数据结构一共有 6 种,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数数组。它们和数据类型的对应关系如下图所示: 1.Redis使用一个哈希表保存所有键值对,2.哈希桶中的元素保存的不是值的本身,而是指向具体元素的 阅读全文
posted @ 2021-06-07 12:07 我是张某某 阅读(472) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-06-07 10:46 我是张某某 阅读(46) 评论(0) 推荐(0)
摘要: 一、什么是字节码、机器码、本地代码? 1.字节码是指平常所了解的 .class 文件,Java 代码通过 javac 命令编译成字节码 2.机器码和本地代码都是指机器可以直接识别运行的代码,也就是机器指令(机器码是与平台相关的,也就是操作系统相关) 3.字节码是不能直接运行的,需要经过 JVM 解释 阅读全文
posted @ 2021-05-20 10:59 我是张某某 阅读(609) 评论(0) 推荐(0)
摘要: 一、为什么使用线程池 1.通过重复利用已经创建的线程降低资源消耗。 2.任务可以不需要等到线程创建就可以提高响应速度。 3.Java的线程池可以对线程资源进行统一分配,管理。 二、线程池的核心参数 1.corePoolSize(线程池的基本大小) (1)提交一个任务到线程池时,线程池会创建一个新的线 阅读全文
posted @ 2021-04-08 10:49 我是张某某 阅读(142) 评论(0) 推荐(0)
摘要: 一、脏读,幻读,不可重复读概念 脏读:脏读是指一个事务中访问到了另外一个事务未提交的数据 如果会话 2 更新 age 为 10,但是在 commit 之前,会话 1 希望得到 age,那么会获得的值就是更新前的值。或者如果会话 2 更新了值但是执行了 rollback,而会话 1 拿到的仍是 10。 阅读全文
posted @ 2021-03-10 11:20 我是张某某 阅读(699) 评论(0) 推荐(0)
摘要: 一、全字段排序 例子:select city,name,age from t where city='杭州' order by name limit 1000 ; 查询流程如下: 图中“按 name 排序”这个动作,可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_b 阅读全文
posted @ 2021-02-22 15:03 我是张某某 阅读(183) 评论(0) 推荐(0)