摘要: 因为我们在读缓存的时候,如果不成功肯定会有通过数据库更新缓存的步骤,如果在修改数据库的时候还要修改缓存,就有些多此一举了,而且这一举并不轻松。另外,保证 mysql-redis 一致性十分麻烦,参考 cpu 缓存一致性,需要 MESI 协议,十分麻烦且浪费性能,这还是在单独的 CPU 内部,而 my 阅读全文
posted @ 2025-06-09 11:05 光風霽月 阅读(22) 评论(0) 推荐(0)
摘要: 事务 一般当我们的功能函数中有批量的增删改时,我们会添加一个事务包裹这一系列的操作,要么这一组操作全部执行成功,只要有一条 SQL 执行失败了我们就全部回滚。 对 MySQL 来说你可以通过下面的命令显示的开启、提交、回滚事务 Copy# 开启事务 begin; # 或者下面这条命令 start t 阅读全文
posted @ 2025-06-06 18:58 光風霽月 阅读(162) 评论(0) 推荐(0)
摘要: 从源码到指令执行一共有 3 种级别重排序: 1、编译器重排序: 例如将循环内重复调用的操作提前到循环外执行; 2、处理器系统重排序: 例如指令并行技术将多条指令重叠执行,或者使用分支预测技术提前执行分支的指令,并把计算结果放到重排列缓冲区(Reorder Buffer)的硬件缓存中,当程序真的进入分 阅读全文
posted @ 2025-06-06 14:55 光風霽月 阅读(28) 评论(0) 推荐(0)
摘要: 一、图灵机、量子计算机 图灵机的背景 在计算机科学中, 可计算性(calculability) 是指一个问题是否存在解决算法。对于一个问题,如果能够使用有限的机械的步骤求出结果,就是可计算的,反之则认为这个问题是不可计算的。 一开始,人们普遍认为任何问题都是有算法的,都是可计算的,而科学家的工作正是 阅读全文
posted @ 2025-06-06 11:48 光風霽月 阅读(50) 评论(0) 推荐(0)
摘要: 一、计算机的存储金字塔 计算机系统 #6 计算机的存储器金字塔长什么样? 二、CPU 三级缓存 计算机系统 #8 我把 CPU 三级缓存的秘密,藏在这 8 张图里 三、CPU 缓存一致性与 MESI 协议 MESI 协议就是 CPU 缓存一致性的一种实现方式 计算机系统 #10 12 张图看懂 CP 阅读全文
posted @ 2025-06-05 22:45 光風霽月 阅读(8) 评论(0) 推荐(0)
摘要: 一、基本概念 1. 什么是中断 中断是指由于接收到来自 外围硬件(相对于中央处理器和内存)的 异步信号 或来自 软件 的 同步信号,而进行相应的 硬件或软件处理。发出这样的信号称为进行 中断请求(interrupt request,IRQ)。 硬件中断导致处理器通过一个 上下文切换(context 阅读全文
posted @ 2025-06-05 22:10 光風霽月 阅读(157) 评论(0) 推荐(0)
摘要: 一、类的属性的表示方法 在 UML 类图中,类使用包含类名、属性(field)和方法(method)且带有分割线的矩形来表示,比如下图表示一个 Employee 类,它包含 name,age 和 email这 3 个属性,以及 modifyInfo() 方法。 ___________________ 阅读全文
posted @ 2025-06-04 12:34 光風霽月 阅读(24) 评论(0) 推荐(0)
摘要: (a + b) % mod = ((a % mod) + (b % mod)) % mod; (a * b) % mod = ((a % mod) * (b % mod)) % mod; (a - b) % mod = ((a % mod) - (b % mod) + mod) % mod; // 阅读全文
posted @ 2025-06-03 10:32 光風霽月 阅读(14) 评论(0) 推荐(0)
摘要: https://zhuanlan.zhihu.com/p/1905023661234189345 阅读全文
posted @ 2025-05-28 18:37 光風霽月 阅读(27) 评论(0) 推荐(0)
摘要: 1. Bloom Filters (布隆过滤器) 背景 如果我们有一组结构化数据(通过记录 ID 标识),存储在一组数据文件中,那么最有效的方式是什么来确定哪个文件可能包含我们所需的数据呢?我们不想逐个读取文件,因为那样会很慢,而且我们需要从磁盘读取大量数据。一种解决方案是为每个数据文件构建一个索引 阅读全文
posted @ 2025-05-27 13:13 光風霽月 阅读(111) 评论(0) 推荐(0)