加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

InnoDB是如何插入数据的?

发布时间:2021-01-31 09:58:48 所属栏目:动态 来源:互联网
导读:为什么会有粘包和半包问题? 这是因为 TCP 是面向连接的传输协议,TCP 传输的数据是以流的形式,而流数据是没有明确的开始结尾边界,所以 TCP 也没办法判断哪一段流属于一个消息。 粘包的主要原因: 发送方每次写入数据 套接字(Socket)缓冲区大小; 接收方读取

为什么会有粘包和半包问题?

这是因为 TCP 是面向连接的传输协议,TCP 传输的数据是以流的形式,而流数据是没有明确的开始结尾边界,所以 TCP 也没办法判断哪一段流属于一个消息。

粘包的主要原因:

  • 发送方每次写入数据 < 套接字(Socket)缓冲区大小;
  • 接收方读取套接字(Socket)缓冲区数据不够及时。

半包的主要原因:

  • 发送方每次写入数据 > 套接字(Socket)缓冲区大小;
  • 发送的数据大于协议的 MTU (Maximum Transmission Unit,最大传输单元),因此必须拆包。

小知识点:什么是缓冲区?

缓冲区又称为缓存,它是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。

缓冲区的优势以文件流的写入为例,如果我们不使用缓冲区,那么每次写操作 CPU 都会和低速存储设备也就是磁盘进行交互,那么整个写入文件的速度就会受制于低速的存储设备(磁盘)。但如果使用缓冲区的话,每次写操作会先将数据保存在高速缓冲区内存上,当缓冲区的数据到达某个阈值之后,再将文件一次性写入到磁盘上。因为内存的写入速度远远大于磁盘的写入速度,所以当有了缓冲区之后,文件的写入速度就被大大提升了。

粘包和半包问题演示

接下来我们用代码来演示一下粘包和半包问题,为了演示的直观性,我会设置两个角色:

  • 服务器端用来接收消息;
  • 客户端用来发送一段固定的消息。

然后通过打印服务器端接收到的信息来观察粘包和半包问题。

服务器端代码如下:
 

什么是硬核奋斗模式?

很多大厂开始大小周的上班方案,相比这个,拼多多更加狠,据网上爆料拼多多推出超级版的大小周方案,大周 7 天,小周 6 天。

这么计算下来,每个月就休息两天。

另外据说拼多多买菜业务全年无休,今年的春节假期很有可能也是不放假!!!

这真的很硬核!!!

可能很多人不了解拼多多买菜业务,简单解释一下,其实就是社区团购业务,最近非常火热。

京东、滴滴、美团、阿里叫的上名的互联网大厂都来参了一手。

拼多多将买菜业务列为重点项目,倾其所有资源投入,All in 买菜。

也许正因为竞争太激烈,所有人都想在这个赛道抢到头筹,争取跑的比竞争对手快,所以开始无止尽的加班,无止尽压榨底层员工。

最后其实写到这里,阿粉觉得真的有点无奈,身处现在互联网圈子,感觉个体力量真的很渺小。我们只能被资本摆布,只能逼着去 996。

不过即使这样,阿粉还是要发声,让这件事能被更多的读者看到。

哎,真的很痛心!希望这次事件能成为大家反抗 996 的一次契机。

最后提醒大家一下,真的要注意一下自己的身体健康,平时有时间的话还是要适当运动一下,毕竟身体是我们自己的。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!