摘要: 事物 - 事物是数据库最小的逻辑操作单位。 事务的ACID 1、原子性 一个事务必须被看做是一个不可分割的最小工作单元,事物中包含的操作要么都做,要么都不做,而不能只执行其中的一部分。 2、一致性 事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。这也是四个特性中比较难理解的一个。 阅读全文
posted @ 2020-12-14 17:07 所见即我 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 类似商城的秒杀场景,大家肯定都遇到过。如何处理好秒杀时候商品的库存限制问题,真的一直让人头大。 常见的处理方案不外乎下面两种: 1、锁 表锁、行锁、文件锁。将需要操作的商品数据锁定,当前用户购买成功后,释放锁,允许其他用户操作该条数据。 2、队列 将请求放入队列中,也就是所有的请求都进行排队等待,按 阅读全文
posted @ 2020-12-13 16:21 所见即我 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 三次握手 - 第一次握手 客户端向服务端发送一个 SYN 报文,并指明客户端初始序列号 ISN。假设客户端的初始序列号为1000,以该序列号为原点,将自己要发送的每个字节的数据进行编号,1001,1002,1003....,服务端收到初始序列号后,就可以知道什么样的序列号是合法的。同时服务端还可以对 阅读全文
posted @ 2020-12-09 15:08 所见即我 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 温馨提示:阅读此文章前先了解网络七层模型。 TCP 面向连接的传输控制协议。三次握手成功连接后,客户端和服务器可以互相发送、接受消息。长连接。属于传输层协议。 - 优点 安全、传输数据无大小限制、准确可靠(确认机制,避免丢包)、先发先至。 - 缺点 效率低、连接耗时、不能做离线任务。 UDP 面向非 阅读全文
posted @ 2020-11-27 17:56 所见即我 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 这图看着有点头大是不?是的,舒服是留给有钱人的,骚年,还是静下来好好学习吧。 不过也不用悲观,我们先来简单了解下这几层的作用。 物理层:网卡、网线、集线器、中继器、调制解调器 数据链路层:网桥,交换机 网络层:路由器 网关工作在第四层传输层及其以上,当然,这也是后面我们需要重点了解的,其他的知道就好 阅读全文
posted @ 2020-11-27 16:51 所见即我 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象(A对象)事件发生时通知多个 ‘观察者’,即观察A对象的其他对象。 代码示例 注:PHP 中包含几个内置接口 (SplSubject、 SplObserver), 它们能让你的观察器模式实现与其他 PHP 代码兼容。 <?php clas 阅读全文
posted @ 2020-11-23 11:20 所见即我 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 代理模式控制着对原对象的访问,并允许在将请求提交给对象前后进行一些处理。 代码示例 <?php interface subject { public function request(); } //原服务 class realSubject implements subject { public f 阅读全文
posted @ 2020-11-20 11:19 所见即我 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 策略模式是一种行为设计模式, 它能让你定义一系列算法, 并将每种算法分别放入独立的类中,将行为转换为对象,以使算法的对象能够相互替换。 实现方式 1、从上下文类中找出修改频率较高的算法 (也可能是用于在运行时选择某个算法变体的复杂条件运算符)。 2、声明该算法所有变体的通用策略接口。 3、将算法逐一 阅读全文
posted @ 2020-11-19 11:55 所见即我 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 适用场景 - 老系统拓展,不改变原有代码基础上新增逻辑功能。 优点 - 不改变原有代码的情况下对原有代码中的内容进行扩展 - 每个装饰器完成自己的功能。 - 用组合实现了继承的感觉 <?php // 短信模板接口 interface MessageTemplate { public function 阅读全文
posted @ 2020-11-18 16:07 所见即我 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 话不多说,直接说重点。最近用到了省市区数据联动。数据格式是这样的: $array = [ 0 => [ 'id' => 1, 'pid' => 0, 'name' => 't1', ], 1 => [ 'id' => 2, 'pid' => 0, 'name' => 't2', ], 2 => [ 阅读全文
posted @ 2020-11-13 11:21 所见即我 阅读(453) 评论(0) 推荐(0) 编辑