
MySQL与Redis学习日志
文章平均质量分 78
MySQL与Redis学习过程的记录
tazj
这个作者很懒,什么都没留下…
展开
-
IO多路复用(Redis)
Redis 基于 Reactor 模式设计开发了一套高效的事件处理模型。其核心思想是通过 事件循环 和 事件分发 来高效地处理多个并发的网络 I/O 操作,而不需要为每个客户端请求创建独立的线程。原创 2025-02-22 09:30:00 · 532 阅读 · 0 评论 -
Redis的持久化
1.MySQL可以保证事务中的持久性,即只要事务提交,之后无论MySQL挂了还是服务器宕机,数据都不会丢失。2.而Redis虽然也有持久化策略,但是它缺无法保证持久性,当Redis挂了,往往都会丢失一定的数据。造成这两种的区别就是它们的持久化策略不同原创 2024-12-27 09:00:00 · 891 阅读 · 0 评论 -
MySQL的redo log、bin log两阶段提交
两种日志的写入顺序可能导致不一致:redo log 先写:如果事务已写入 Redo Log,但 Binlog 还未写入磁盘,系统崩溃后,Binlog 丢失,导致主从复制的数据不一致。binlog 先写:如果事务已写入 Binlog,但 Redo Log 未写入,崩溃恢复后,事务数据不完整。需要MySQL 中的两阶段提交来解决原创 2024-12-26 09:00:00 · 1220 阅读 · 0 评论 -
MySQL的binlog
redo log是物理日志,记录的是“在某个数据页做了什么修改”,属于Innodb存储引擎。Binlog 是 MySQL Server 层提供的一种日志功能,它是 逻辑日志,记录了所有对数据库进行更改的 SQL语句(如 INSERT、UPDATE、DELETE 等)以及一些其他元数据信息。原创 2024-12-24 09:00:00 · 667 阅读 · 0 评论 -
MySQL的redo log
MySQL 的是一种用于保证数据库事务一致性的日志机制,属于中的一部分,它在数据库发生变更时记录事务的操作,用来在数据库崩溃时恢复数据的一致性。redo log 主要是为了解决问题,确保事务即使在发生崩溃的情况下也不会丢失。原创 2024-12-23 10:30:00 · 944 阅读 · 0 评论 -
MySQL的深分页问题
MySQL的深分页问题是指在使用查询时,MySQL 会扫描条记录,但只返回count条。也就是说,MySQL 需要从磁盘或缓存中读取大量数据并丢弃前offset条记录。如果offset很大,MySQL 会进行大量无效扫描,导致性能下降。这条查询需要 MySQL 扫描前 100010 条记录,丢弃前 10000 条,仅返回最后 10 条。如果表中每条记录大小为 1KB,那么 MySQL 至少要处理 10MB 的数据才能返回 10KB 的结果。原创 2024-12-19 09:30:00 · 362 阅读 · 0 评论 -
MySQL扣减库存的思考
这种方式不需要显式地加锁,减少了数据库的资源占用和锁竞争,因此在低并发的场景下性能较好。而且操作比较简单,事务处理直接更新库存,逻辑清晰。但是这个方案需要每次都加锁(悲观锁),这在高并发的情况下可能性能不太好。原创 2024-12-14 09:30:00 · 242 阅读 · 0 评论