上一页 1 2 3 4 5 6 7 8 ··· 52 下一页
  2024年9月30日
摘要: 表:集合 记录:文档 mongodb的记录以bson形式存储 存储引擎:WiredTiger 简单crud db.orders.find( { _id: { $lt: 1000 }, status: { $in: ["active"] }, amount: { $gt: 10, $lt: 250 } 阅读全文
posted @ 2024-09-30 12:10 towboat 阅读(3) 评论(0) 推荐(0) 编辑
  2024年9月29日
摘要: 事务协调者(PM) , 事务参与者(TM) 两阶段提交分为 1. 准备(prepare) pm发消息询问所有TM是否都准备好: 各个tm做本地事务的预操作(如写日志),不提交 回复pm 1. yes:准备好了 2. no: 没准备好 2.提交(commit) tm: 根据yes或者no,发消息通知所 阅读全文
posted @ 2024-09-29 22:59 towboat 阅读(3) 评论(0) 推荐(0) 编辑
  2024年9月28日
摘要: 补充下mq作用: 降低系统耦合,异步, 削峰限流 , key.serializer和value.serializer 序列化器 producer consumer broker : kafka实例 topic partition:类似队列 ,且消息有序 partition可以处于不同broker,以 阅读全文
posted @ 2024-09-28 23:57 towboat 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 表级别锁 1.表锁 lock tables xx read. 线程只能读 lock tables xx write 其他线程无法读写 2.MDL锁(元数据锁 MDL 是为了对表执行 CRUD 操作时,防止其他线程对这个表结构做了变更 ,反之亦然 注意 MDL 是在事务提交后才会释放, 因此长事务可能 阅读全文
posted @ 2024-09-28 16:43 towboat 阅读(11) 评论(0) 推荐(0) 编辑
  2024年9月25日
摘要: 大事务或资源密集操作:强制走主库 master写binlog,提交事务 ; slave 的 io线程监听master 的 dump log线程, 接收binlog,回放binlog 实现MySQL主从复制需要进行的配置 MySQL 主从复制的简单步骤如下: 在主服务器上创建复制用户:创建一个用户 s 阅读全文
posted @ 2024-09-25 23:54 towboat 阅读(2) 评论(0) 推荐(0) 编辑
摘要: MySQL 的 InnoDB 存储引擎使用 两阶段提交 来协调 redo log 和 binlog 的写入顺序,确保事务的一致性。具体过程如下: 准备阶段(Prepare Phase): InnoDB 将事务修改写入 redo log,但此时 redo log 处于 prepare 状态,表示事务的 阅读全文
posted @ 2024-09-25 22:03 towboat 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 使用read_view(创建事务时候生成) 和 undo_log undo_log 记录了 某个记录的历史版本 包括 trx (最后一次执行修改的事务), pointer 隐藏字段 比如现在某个事务查看一条记录 ,用该记录的trx 对比read_view ,如果read_view对 trx 不可见 阅读全文
posted @ 2024-09-25 00:18 towboat 阅读(4) 评论(0) 推荐(0) 编辑
  2024年9月22日
摘要: 如何处理 bigkey? 1. 监控 +手动清理:Redis 4.0+ 可以使用 UNLINK 命令来异步删除一个或多个指定的 key。 2.渐进式删除 Api如 list strim set srem hash hdel 3..分割 bigkey:将一个 bigkey 分割为多个小 key 比如一 阅读全文
posted @ 2024-09-22 21:51 towboat 阅读(8) 评论(0) 推荐(0) 编辑
摘要: Lua 脚本在 Redis 中能够保证操作不会被其他指令插入或打扰,主要通过以下机制实现: 1. Redis单线程模型 2. 脚本执行锁定 当执行 Lua 脚本时,Redis 会自动锁定所有在脚本中访问的键。这个过程可以分为几个步骤: 获取锁:在脚本执行前,Redis 会检查脚本中访问的键。如果有键 阅读全文
posted @ 2024-09-22 21:03 towboat 阅读(6) 评论(0) 推荐(0) 编辑
  2024年9月21日
摘要: 内核态和用户态 用户态模式下只能执行部分指令,不能访问硬件资源 进程和线程: 进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 协程:一种用户态的轻量级线程,其调度完全由用户程序控制。有独立的栈,但和其他协程共享堆内存。 协程之间切换开销很小,无需内核态的上下文切换,适合高并发 为 阅读全文
posted @ 2024-09-21 11:53 towboat 阅读(10) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 52 下一页