- 博客(7)
- 收藏
- 关注
原创 JAVA学习记录02
缓存击穿中,请求的 key 对应的是热点数据,该数据存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期)。这就可能会导致瞬时大量的请求直接打到了数据库上,对数据库造成了巨大的压力,可能直接就被这么多请求弄宕机了。举个例子:秒杀进行过程中,缓存中的某个秒杀商品的数据突然过期,这就导致瞬时大量对该商品的请求直接落到数据库上,对数据库造成了巨大的压力。我发现缓存雪崩这名字起的有点意思,哈哈。缓存在同一时间大面积的失效,导致大量的请求都直接落到了数据库上,对数据库造成了巨大的压力。
2024-03-15 22:44:47 1514 1
原创 JAVA学习记录01
NEW: 初始状态,线程被创建出来但没有被调用 。RUNNABLE: 运行状态,线程被调用了 等待运行的状态。BLOCKED:阻塞状态,需要等待锁释放。WAITING:等待状态,表示该线程需要等待其他线程做出一些特定动作(通知或中断)。TIME_WAITING:超时等待状态,可以在指定的时间后自行返回而不是像 WAITING 那样一直等待。TERMINATED:终止状态,表示该线程已经运行完毕。Redis 中比较常见的数据类型有下面这些:5 种基础数据类型:String(字符串)、List(列表)、Set
2024-03-14 22:51:08 762 1
原创 MySQL--主从同步、分库分表
核心是二进制日志,二进制日志记录了所有的DDL语句和DML语句。数据定义语言,用于定义DB对象,例如表table、索引index等,数据操作语言,用于对DB中的数据进行操作,例如插入、更新、删除等。可以说,DDL用于管理DB的结构,而DML用于对DB中的数据进行操作。具体的主从同步。
2024-03-12 11:19:03 377
原创 MySQL--事务及其相关内容
事务是一组操作的集合,它是一个不可拆分的工作单位,这些操作会作为一个整体向系统进行提交或撤销,要么全部成功,要么全部失败。现实场景:A向B转账1000元,一定是A的账户里少了1000元,B的账户里多了1000元,不可能出现A的账户里的钱不变,而B的账户平白无故多出来1000元。多版本并发控制,指维护一个数据的多个版本,使得读写操作没有冲突。依赖于:隐式字段、undo log日志、readViewtrx_id事务id:记录每一次操作的事务id,是自增的。
2024-03-11 09:17:26 868
原创 数据库优化--索引失效
一.什么情况下索引会失效?1.违反最左前缀法则如果索引存在多列,则应该从最左列开始,中间不可跳列。若符合最左前缀法则,但出现了跳列,则只有最左列索引生效。若违反最左前缀法则,索引失效。2.范围查询右边的列,不能使用索引。语法:“>3.在索引上进行运算操作,会造成索引失效。4.字符串不加单引号,会造成索引失效。5.以%开头的Like模糊查询,会造成索引失效。如果仅是尾部以%模糊匹配,索引不会失效
2024-03-10 11:27:52 256 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人