KT's 小站
LC208:Trie前缀树 LC208:Trie前缀树
算是对 Acwing 那题的复习了 题目如下: 思路就不说了,就是将字符串按照多叉树存储,插入和查询差不多,只要把每个字符串结尾的字符标记一下或者记录一下个数就行。 下面是代码: class Trie { public:
2023-11-03
MVCC概念和实现原理 MVCC概念和实现原理
即多版本并发控制,此文会根据以下几个点说明 相关概念 当前读 快照读 多版本并发控制原理 MVCC 基本概念Multi-Version Concurrency Control 多版本并发控制。用于在多个并发事务同时读写数据库时保持数
2023-10-28
2023-10-26 KTpro
SQL性能分析和优化 SQL性能分析和优化
SQL性能分析进行 SQL 优化首先需要了解 sql 语句执行的情况,下面有三种分析方式。 下面三种重要性不高,还是主要看 explain:Mysql执行计划分析 | KTnoobStation (gitee.io) 查看执行频次通过模糊
2023-10-26
Mysql索引 Mysql索引
参考文章: javaGuide Mysql索引 索引概览索引是一种用于快速查询和检索数据的数据结构,本质是一种排序好的数据结构。 索引底层数据结构索引的底层数据结构包括:B 树,B+树,红黑树,Hash 等,不管是 InnoDB 还是
2023-10-26
Mysql执行计划分析 Mysql执行计划分析
可参考:https://javaguide.cn/database/mysql/mysql-query-execution-plan.html 优化 sql 语句首先就要知道 sql 执行的情况,则可使用 explain 命令。
2023-10-25
HashMapPut方法 HashMapPut方法
先上流程图 基本过程 判断键值对 table 数组(存数据的) 是不是空的,如果是需要进行初始化扩容 resize 为 16 大小,且阈值为 12 如果 table 非空,根据 key 进行哈希运算得到在数组中的(桶)索引,判断该索引的节点
2023-10-13
股票买卖V 股票买卖V
在原来几种的基础上多加了一个”冷冻期”的概念,即前一天卖出,今天就不能买入股票。 Acwing 和 Leetcode 本题题干一样,下面以 Acwing 为例。 题目描述 题解首先可以先回顾一下<[股票买卖 IV](买卖股票IV–
2023-10-05
优惠券 优惠券
主要根据黑马的教学目标进行学习,优惠券秒杀,分布式锁以及超卖问题等的具体实践。 具体包括: 全局唯一 ID 的实现 如何实现全局唯一 ID? 实现优惠券秒杀下单功能 超卖问题 为什么会出现超卖 解决方法 乐观锁的改进-提高成
买卖股票IV--状态机DP 买卖股票IV--状态机DP
本文包括 ACWing 提高课一题以及力扣上的一题变式Acwing: 1057. 股票买卖 IV - AcWing题库Leetcode: 123. 买卖股票的最佳时机 III - 力扣(LeetCode) 题目描述 解题思路 划分当
2023-10-03
双写一致 双写一致
本文主要说明双写一致性,保证数据一致性Keyword: 延迟双删注意:延迟双删不能保证数据的强一致性,延迟删除时可能也会导致脏数据出现 先上概念双写一致性: 如果修改了数据库的数据,同时也要更新缓存中的数据,保证缓存和数据库的数据一致性
Redis缓存三兄弟 Redis缓存三兄弟
Date: 2023/9/29 本文目的是记录三种 redis 缓存出错的场景 缓存击穿 缓存穿透 缓存雪崩 一 . 缓存穿透定义:如果用户请求一个数据库中永远不存在的数据,比如查询 id 为 0 或负数时,
4 / 5