摘要: 简介 被 volatile 修饰的变量有两大特点: 当写一个 volatile 变量时,JMM 会把线程对应的本地内存中的共享变量值立即刷新回主内存中。 当读一个 volatile 变量时,JMM 会把线程对应的本地内存设置为无效,需要工作线程重新回到主内存中读取最新共享变量。 所以 volatil 阅读全文
posted @ 2024-07-09 17:53 劣技砖猿 阅读(11) 评论(0) 推荐(0) 编辑
摘要: Redis 持久化 RDB RDB 的全称为 Redis Database Backup(Redis 数据备份),也被叫做 Redis 数据快照,该功能默认开启。简单来说就是把内存中的所有数据记录到磁盘中。当 Redis 故障重启后,从磁盘读取快照文件,恢复数据。RDB 默认开启,会在主动停机时自动 阅读全文
posted @ 2024-06-03 19:14 劣技砖猿 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 生成全局唯一 ID 全局唯一 ID 需要满足以下要求: 唯一性:在分布式环境中,要全局唯一 高可用:在高并发情况下保证可用性 高性能:在高并发情况下生成 ID 的速度必须要快,不能花费太长时间 递增性:要确保整体递增的,以便于数据库创建索引 安全性:ID 的规律性不能太明显,以免信息泄露 从上面的要 阅读全文
posted @ 2024-05-25 09:22 劣技砖猿 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透 缓存穿透是指客户端的请求数据在缓存和数据库中都不存在,这样缓存永远不会生效,这些请求都会到达数据库,从而导致数据库负载过高。 常见解决方案有两种: 缓存空对象:实现简单、方便维护,是解决缓存穿透的首选方法,但会造成额外内存消耗,或短期的数据不一致 布隆过滤:内存占用少,没有多余key,但实 阅读全文
posted @ 2024-05-19 23:28 劣技砖猿 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 事务日志简介 事务有四种特性:原子性、一致性、隔离性、持久性,详情请看《mysql 事务的基础知识》。其中隔离性由锁机制实现,原子性、一致性由 undo 日志(undo log 称为回滚日志,回滚记录到某个特定版本)来保证,持久性则是由 redo 日志(redo log 称为重做日志,提供写操作,恢 阅读全文
posted @ 2024-05-02 19:22 劣技砖猿 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 数据库事务概述 事务时数据库区别于文件系统的重要特性之一,当我们有了事务就会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样我们就可以保证已提交到数据库的修改不会因为系统崩溃而丢失。mysql 数据库目前只有 InnoDB 存储引擎是支持事务的。 事务:一组逻辑操作单元,使数 阅读全文
posted @ 2024-04-25 16:58 劣技砖猿 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 范式简介 在关系型数据库中,关于数据表设计的基本原则、规则就成为范式。范式的应为时 Normal Form 简称 NF,范式是关系型数据库理论的基础,也是我们在设计数据库过程中索要遵循的规则和指导方法。 目前关系型数据库有六种常见范式,按照范式级别,从低到高分别是: 第一范式(1NF):第一范式主要 阅读全文
posted @ 2024-04-22 15:21 劣技砖猿 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 分析 sql 性能整体步骤 观察服务器状态(系统性能),看是否存在周期性波动。 如果存在波动,则可以增加缓存或修改缓存失效策略。 如果没有周期性波动,而是不规则的延迟或卡顿,又或者是添加了缓存或修改了缓存失效策略之后问题仍然未解决,我们就可以开启慢查询功能,通过慢查询日志找到执行较慢的 sql 语句 阅读全文
posted @ 2024-04-17 17:17 劣技砖猿 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 适合添加索引的情况 1.字段的数值有唯一性的限制 索引本身可以起到约束的作用,比如唯一索引、主键索引都可以起到唯一性约束的,因此我们在创建数据表时,如果某个字段时唯一的,就可以直接创建唯一性索引或主键索引。不要以为唯一索引影响了 insert 的速度,这个速度损耗可以忽略不计,单体高查找速度是明显的 阅读全文
posted @ 2024-04-12 16:57 劣技砖猿 阅读(283) 评论(0) 推荐(0) 编辑
摘要: InnoDB 引擎:具备外键支持功能的事务存储引擎 InnoDB 视为处理巨大数据量的最大性能设计的存储引擎。 mysql 从 3.23.34a 开始包含 InnoDB 引擎,大于等于5.5之后默认采用 InnoDB 引擎。 InnoDB 是 mysql 的默认事务引擎,它被设计用来处理大量短期(s 阅读全文
posted @ 2024-04-08 15:57 劣技砖猿 阅读(8) 评论(0) 推荐(0) 编辑