获得徽章 1
#青训营笔记创作活动#
2月21日day22
Redis 作为一款优秀的缓存中间件,可持久化的日志型数据库
,直接以内存的方式存储可以达到最快的读写速度。网络请求模块使用单线程,其他模块仍用了多线程。多路I/O复用模型,为非阻塞I/O
2月21日day22
Redis 作为一款优秀的缓存中间件,可持久化的日志型数据库
,直接以内存的方式存储可以达到最快的读写速度。网络请求模块使用单线程,其他模块仍用了多线程。多路I/O复用模型,为非阻塞I/O
展开
评论
点赞
#青训营笔记创作活动#
2月15打卡day18
慢查询日志记录慢SQL
explain分析SQL的执行计划
profile 分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施
2月15打卡day18
慢查询日志记录慢SQL
explain分析SQL的执行计划
profile 分析执行耗时
Optimizer Trace分析详情
确定问题并采用相应的措施
展开
评论
点赞
#青训营笔记创作活动#
2月15日打卡day17
SQL语句都诞生于客户端,主要有两种方式产生一条SQL,一种是由开发者自己手动编写,另一种则是相关的ORM框架自动生成,一般情况下,MySQL运行过程中收到的大部分SQL都是由ORM框架生成的,比如Java中的MyBatis、Hibernate框架等。
同时,SQL生成的时机一般都与用户的请求有关,当用户在系统中进行了某项操作,一般都会产生一条SQL,
MySQL的连接池主要是为了实现复用线程的目的,因为每个数据库连接在MySQL中都会使用一条线程维护,而每次为客户端分配连接对象时,都需要经历创建线程、分配栈空间....这些繁重的工作,这个过程需要时间,同时资源开销也不小,所以MySQL利用池化技术解决了这些问题。
而客户端的连接池,主要是为了实现复用数据库连接的目的,因为每次SQL操作都需要经过TCP三次握手/四次挥手的过程,过程同样耗时且占用资源,因此也利用池化技术解决了这个问题。
2月15日打卡day17
SQL语句都诞生于客户端,主要有两种方式产生一条SQL,一种是由开发者自己手动编写,另一种则是相关的ORM框架自动生成,一般情况下,MySQL运行过程中收到的大部分SQL都是由ORM框架生成的,比如Java中的MyBatis、Hibernate框架等。
同时,SQL生成的时机一般都与用户的请求有关,当用户在系统中进行了某项操作,一般都会产生一条SQL,
MySQL的连接池主要是为了实现复用线程的目的,因为每个数据库连接在MySQL中都会使用一条线程维护,而每次为客户端分配连接对象时,都需要经历创建线程、分配栈空间....这些繁重的工作,这个过程需要时间,同时资源开销也不小,所以MySQL利用池化技术解决了这些问题。
而客户端的连接池,主要是为了实现复用数据库连接的目的,因为每次SQL操作都需要经过TCP三次握手/四次挥手的过程,过程同样耗时且占用资源,因此也利用池化技术解决了这个问题。
展开
评论
点赞
#青训营笔记创作活动#
2月12日打卡day16
502问题怎么排查?HTTP状态码、nginx的作ngin
x返回5xx状态码用。
我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。
RST 就是用于这种情况,一般用来异常地关闭一个连接。它是TCP包头中的一个标志位,在收到置这个标志位的数据包后,连接就会被关闭,此时接收到 RST的一方,在应用层会看到一个 connection reset 或 connection refused 的报错。
2月12日打卡day16
502问题怎么排查?HTTP状态码、nginx的作ngin
x返回5xx状态码用。
我们都知道TCP正常情况下断开连接是用四次挥手,那是正常时候的优雅做法。但异常情况下,收发双方都不一定正常,连挥手这件事本身都可能做不到,所以就需要一个机制去强行关闭连接。
RST 就是用于这种情况,一般用来异常地关闭一个连接。它是TCP包头中的一个标志位,在收到置这个标志位的数据包后,连接就会被关闭,此时接收到 RST的一方,在应用层会看到一个 connection reset 或 connection refused 的报错。
展开
评论
点赞
#青训营笔记创作活动#
2月10日打卡day15
注释、拆分合理的目录结构、优先考虑批量进行、封装方法形参、封装通用模板、封装复杂的逻辑判断条件、优化性能的嗅觉、可变参数的配置化处理、使用工具类、一个函数不能超过80行、在finally块中对资源进行释放
2月10日打卡day15
注释、拆分合理的目录结构、优先考虑批量进行、封装方法形参、封装通用模板、封装复杂的逻辑判断条件、优化性能的嗅觉、可变参数的配置化处理、使用工具类、一个函数不能超过80行、在finally块中对资源进行释放
展开
评论
点赞
#青训营笔记创作活动#
2月9日打卡day14
交换机 报文交换 而交换机内部维护着一张MAC地址与网线端口的对应表
路由器分组交换路由器是三层设备(对应OSI网络模型在网络层)IP地址在路由器里维护的是路由表,在路由表中最重要的是目的网络地址(也就是IP)和下一跳地址。
2月9日打卡day14
交换机 报文交换 而交换机内部维护着一张MAC地址与网线端口的对应表
路由器分组交换路由器是三层设备(对应OSI网络模型在网络层)IP地址在路由器里维护的是路由表,在路由表中最重要的是目的网络地址(也就是IP)和下一跳地址。
展开
评论
点赞
#青训营笔记创作活动#
2月8日打卡day13
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。
2月8日打卡day13
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。
展开
评论
点赞
#青训营笔记创作活动#
2月6日打卡day12
HTTPS可以用TLS或者SSL啥的进行加密
第一阶段是
TLS四次握手,这一阶段主要是利用非对称加密的特性各种交换信息,最后得到一个"会话秘钥"。
第二阶段是则是在第一阶段的"会话秘钥"基础上,进行对称加密通信。
2月6日打卡day12
HTTPS可以用TLS或者SSL啥的进行加密
第一阶段是
TLS四次握手,这一阶段主要是利用非对称加密的特性各种交换信息,最后得到一个"会话秘钥"。
第二阶段是则是在第一阶段的"会话秘钥"基础上,进行对称加密通信。
展开
评论
点赞
#青训营笔记创作活动#
2月5日打卡day10
使用socket进行数据传输
socket编程fd = socket(AF_INET, 具体协议,0);
SOCK_STREAM TCP
SOCK_DGRAM udp
fd是指socket句柄
send(fd, msg, ...)
recv(fd, msg, ...)
CP为了实现可靠性,引入了重传机制、流量控制、滑动窗口、拥塞控制、分段以及乱序重排机制
2月5日打卡day10
使用socket进行数据传输
socket编程fd = socket(AF_INET, 具体协议,0);
SOCK_STREAM TCP
SOCK_DGRAM udp
fd是指socket句柄
send(fd, msg, ...)
recv(fd, msg, ...)
CP为了实现可靠性,引入了重传机制、流量控制、滑动窗口、拥塞控制、分段以及乱序重排机制
展开
评论
点赞