上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 20 下一页
摘要: redis-delay 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何在半小时后自动取消? 如何定期检查处于退款状态的订单是否已经退款成功? 实现方案 定时任务扫表 为了解决以上问题,最简单直接的办法就是定时去扫表。每个业务都要维护一个自己的扫表逻辑。 优点:简单 缺点:每分钟全局 阅读全文
posted @ 2021-08-07 19:32 女友在高考 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 分布式事务 为什么需要分布式事务 随着互联网的快速发展,业务越来越复杂,一个完整的业务往往需要调用多个子服务,涉及的数据也越来越多。传统的系统难以支撑,就出现了分布式系统,而分布式系统又带来了数据一致性的问题,从而产生了分布式事务。 什么叫分布式事务 分布式条件下,多个节点操作的整体事务一致性。 特 阅读全文
posted @ 2021-08-04 14:23 女友在高考 阅读(592) 评论(0) 推荐(2) 编辑
摘要: 一、数据库拆分 1. 为什么要做数据库拆分 单机数据库存在的问题? 从容量、性能、可用性和运维成本上难以满足海量数据的场景。 性能方面,数据量超过一定阈值,B+树索引深度增加导致磁盘访问的IO次数增加,进而导致查询性能的下降。 容量方面,单机能存储的数据量有限 可用性方面,大量的查询落到单一的数据库 阅读全文
posted @ 2021-07-29 16:02 女友在高考 阅读(1067) 评论(0) 推荐(2) 编辑
摘要: 从单机到集群 随着数据量增加,读写并发的增加,系统可用性要求的提升,单机MySQL存在着一些问题: 容量有限,难以扩容 读写压力、QPS过大,特别是分析类需求会影响到业务事务 可用性不足,单点故障 主从复制 核心流程是: 主库将数据变更操作记录到Binlog日志文件中 从库读取主库中的Binlog日 阅读全文
posted @ 2021-07-18 18:43 女友在高考 阅读(456) 评论(0) 推荐(2) 编辑
摘要: 专题一:主键ID生成 数据库自增 数据库多主模式 号段模式 UUID 时间戳+随机数 Redis里生成 雪花算法(SnowFlake) 滴滴出品(TinyID) 百度(Uidgenertor) 美团(Leaf) 数据库自增 基于数据库的auto_increment自增ID完全可以充当分布式ID。需要 阅读全文
posted @ 2021-07-15 22:39 女友在高考 阅读(444) 评论(0) 推荐(0) 编辑
摘要: MySQL事务 事务可靠性模型ACID: Atomicity: 原子性,一次事务中的操作要么成功,要么失败 Consistency: 一致性,跨表,跨行,跨事务,数据库始终保持一致状态 Isolation: 隔离性,保护事务不会互相干扰,包含4种隔离级别 Durability: 持久性,事务提交后, 阅读全文
posted @ 2021-07-15 22:35 女友在高考 阅读(477) 评论(0) 推荐(2) 编辑
摘要: 性能优化-数据库篇1 首先我们要谈论什么是性能? 吞吐和延迟 没有量化就没有改进 :监控和度量指标可以指导我们从哪里入手 80/20原则:先优化性能瓶颈的地方 过早的优化是万恶之源:选择合适的优化时机 脱离场景谈性能都是耍流氓:对性能的要求要符合实际 一般来说,DB/SQL操作的消耗在一次处理中占比 阅读全文
posted @ 2021-07-13 20:56 女友在高考 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 解释器模式 定义:这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 使用场景:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 阅读全文
posted @ 2021-07-05 17:44 女友在高考 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 访问者模式 定义:将作用于某种数据结构中的各元素的操作分离出来封装为独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。 使用场景: 对象结构很少改变,但是需要经常在结构上定义新的操作。 需要对一个对象结构中的对象进行很多不同并且不相关的操 阅读全文
posted @ 2021-07-04 00:10 女友在高考 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 模板方法 定义:定义一个过程中的算法骨架,而将算法的一些步骤延迟到子类中。 这么做是为了将不变的部分封装到父类中实现,而将可变部分的算法由子类继承实现,便于扩展。 模板结构: 抽象模板 模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。 基本方法: 抽象方法:在抽象类中声明,由具体子类实现 阅读全文
posted @ 2021-07-03 23:06 女友在高考 阅读(55) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 20 下一页