获得徽章 8
- #青训营笔记创作活动#
2月16日,day11学习打卡
优点:
完全基于内存操作,性能极高,读写速度快,Redis 能够支持超过 100KB/s 的读写速率
支持高并发,支持10万级别的并发读写
支持主从模式,支持读写分离与分布式
具有丰富的数据类型与丰富的特性(发布订阅模式)
支持持久化操作,不会丢失数据
缺点:
数据库容量受到物理内存的限制,不能实现海量数据的高性能读写
相比关系型数据库,不支持复杂逻辑查询,且存储结构相对简单
虽然提供持久化能力,但实际更多是一个 disk-backed 功能,与传统意义上的持久化有所区别
展开评论点赞 - #青训营笔记创作活动#
2月15日,day10打卡
一个可以部署在线上的开源数据库可视化工具,但开的不多,如果超过五个实例要付费。好处可以是多人协同,这一点挺有用的,当你需要管理一些sql查询,而且需要与人共享这一点尤为重要。但是它并不完全开源,也打消了下载了欲望。
展开评论点赞 - 2月14日 day9学习打卡
状态码:前端根据后端返回的状态码做相应的操作。
nignx作用:网关,负载均衡,反向代理。客户端直连nginx,再由nignx直连服务端,从一个TCP连接变成两个TCP连接。
反向代理:从客户端请求服务端的来看,屏蔽具体哪些服务器响应前端的请求。反过来,屏蔽具体有哪些客户端的代理方式是正向代理。
nginx返回5xx状态码:
当服务器发生异常时,nginx发送给服务器的那条TCP连接就不能正常响应,nginx在得到这一信息后,就会返回5xx错误码给客户端,也就是说5xx的报错,其实是由nginx识别出来,并返回给客户端的,服务端本身,并不会有5xx的日志信息。所以才会出现文章开头的一幕,上游收到了我服务的502报错,但我在自己的服务日志里却搜索不到这一信息。展开评论点赞 - #青训营笔记创作活动#
2月13日,day8打卡
接口方法、类、复杂的业务逻辑,都应该添加有意义的注释
对于接口方法的注释,应该包含详细的入参和结果说明,有异常抛出的情况也要详细叙述
类的注释应该包含类的功能说明、作者和修改者。
如果是业务逻辑很复杂的代码,真的非常有必要写清楚注释。
展开评论点赞 - #青训营笔记创作活动#
2月12日,day7学习打卡
MySql架构:
从上往下看,依次会分为网络连接层、系统服务层、存储引擎层、以及文件系统层,往往编写SQL后,都会遵守着MySQL的这个架构往下走。
连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。
服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块区域。
存储引擎层:这里是指MySQL支持的各大存储引擎,如InnoDB、MyISAM等。
文件系统层:涵盖了所有的日志,以及数据、索引文件,位于系统硬盘上。
展开评论点赞 - #青训营笔记创作活动#
2月12日 day6学习打卡
要发送数据,会在网络层里头加IP头。这里面包含发送端和接收端IP地址。
DHCP协议,动态主机配置协议,通过该协议可以自动获取本机需要的Ip地址、子网掩码和路由器地址。一般路由器自带这个功能。
过程:
1.DHCP Discover 广播
2.DHCP Offer 分配IP
3.DHCP Request 广播确定IP
4.DHCP ACK DHCP回复OK
DHCP是应用层协议,基于UDP协议进行数据传输
因为不知道连接哪个具体的机器,所以只能广播,UDP发送给255.255.255.255可以在本地网段进行广播
展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day5
学习了联合索引最左匹配原则,学会判断了联合索引的情况下如何使用字段查询会不会走索引。以及一些导致索引失效的场景,归根结底还是因为结果集太大,效率不如全表扫描。评论点赞 - #青训营笔记创作活动#
2月9日 day4打卡
1刷从头看到尾,扫清知识盲点,搞清楚慨念;
2刷必须手敲,而且要写注释和总结;
3刷先只写注释,不看文档实现功能,遇到问题再和文档比较,加深理解。展开评论点赞 - #青训营笔记创作活动#
2月8日打卡 Day3
使用AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制。学到了如何自定义注解,以及如何实现接口的访问权限。
展开评论点赞