[docs fix]一些小错误

This commit is contained in:
Guide 2024-03-08 17:06:57 +08:00
parent 8faebca7dc
commit 2954d17e5f
3 changed files with 7 additions and 6 deletions

View File

@ -100,7 +100,7 @@ update tb_student A set A.age='19' where A.name=' 张三 ';
我们来给张三修改下年龄在实际数据库肯定不会设置年龄这个字段的不然要被技术负责人打的。其实这条语句也基本上会沿着上一个查询的流程走只不过执行更新的时候肯定要记录日志啦这就会引入日志模块了MySQL 自带的日志模块是 **binlog归档日志** ,所有的存储引擎都可以使用,我们常用的 InnoDB 引擎还自带了一个日志模块 **redo log重做日志**,我们就以 InnoDB 模式下来探讨这个语句的执行流程。流程如下:
- 先查询到张三这一条数据,如果有缓存,也是会用到缓存
- 先查询到张三这一条数据,不会走查询缓存,因为更新语句会导致与该表相关的查询缓存失效
- 然后拿到查询的语句,把 age 改为 19然后调用引擎 API 接口写入这一行数据InnoDB 引擎把数据保存在内存中,同时记录 redo log此时 redo log 进入 prepare 状态,然后告诉执行器,执行完成了,随时可以提交。
- 执行器收到通知后记录 binlog然后调用引擎接口提交 redo log 为提交状态。
- 更新完成。

View File

@ -169,6 +169,7 @@ icon: jianli
- 商品和订单搜索场景引入 Elasticsearch并且实现了相关商品推荐以及搜索提示功能。
- 整合 Canal + RabbitMQ 将 MySQL 增量数据(如商品、订单数据)同步到 Elasticsearch。
- 利用 RabbitMQ 官方提供的延迟队列插件实现延时任务场景比如订单超时自动取消、优惠券过期提醒、退款处理。
- 消息推送系统引入 RabbitMQ 实现异步处理、削峰填谷和服务解耦,最高推送速度 10w/s单日最大消息量 2000 万。
- 使用 MAT 工具分析 dump 文件解决了广告服务新版本上线后导致大量的服务超时告警的问题。
- 排查并解决扣费模块由于扣费父任务和反作弊子任务使用同一个线程池导致的死锁问题。
- 基于 EasyExcel 实现广告投放数据的导入导出,通过 MyBatis 批处理插入数据,基于任务表实现异步。
@ -177,7 +178,7 @@ icon: jianli
- 热门数据(如首页、热门博客)使用 Redis+Caffeine 两级缓存解决了缓存击穿和穿透问题查询速度毫秒级QPS 30w+。
- 使用 CompletableFuture 优化购物车查询模块,对获取用户信息、商品详情、优惠券信息等异步 RPC 调用进行编排,响应时间从 2s 降低为 0.2s。
- 搭建 EasyMock 服务,用于模拟第三方平台接口,方便了在网络隔离情况下的接口对接工作。
- 基于 SkyWalking + Elasticsearch 搭建分布式链路追踪系统实现实现全链路监控。
- 基于 SkyWalking + Elasticsearch 搭建分布式链路追踪系统实现全链路监控。
**4、如果你觉得你的项目技术比较落后的话可以自己私下进行改进。重要的是让项目比较有亮点通过什么方式就无所谓了。**

View File

@ -111,15 +111,15 @@ public class LRUCache<K, V> extends LinkedHashMap<K, V> {
}
```
测试代码如下,笔者初始化缓存容量为 2,然后按照次序先后添加 4 个元素。
测试代码如下,笔者初始化缓存容量为 3,然后按照次序先后添加 4 个元素。
```java
LRUCache < Integer, String > cache = new LRUCache < > (2);
LRUCache<Integer, String> cache = new LRUCache<>(3);
cache.put(1, "one");
cache.put(2, "two");
cache.put(3, "three");
cache.put(4, "four");
for (int i = 0; i < 4; i++) {
for (int i = 0; i <= 4; i++) {
System.out.println(cache.get(i));
}
```
@ -128,7 +128,7 @@ for (int i = 0; i < 4; i++) {
```java
null
null
two
three
four
```