获得徽章 1
- #青训营笔记创作活动#
1月31日 打卡day8
了解了mysql的存储结构,表分页的b+树实现。根据分叉的计算可以了解2000w是差不多占满第三层的数据量,大于它的数据导致b+树层级变高,增加了磁盘io的负担查询性能受到影响。评论点赞 - #青训营笔记创作活动#
1月24日 打卡day7
今天阅读了有了http协议之后为什么还要有websocket协议。在网页页面会有“让服务端主动向客户端发送数据”的需求,一般的http使用长短轮询实现,但轮询终究有较大时延。因此需要websocket发挥tcp双全工的特性,完成数据的通信传输。文章介绍了websocket协议的升级过程以及通信过程,对http和他的联系与差异做了讲解。展开评论点赞 - #青训营笔记创作活动#
1月23日 打卡day6
今天阅读了redis的三十个问题及其解答,补充了对redis认识的不足。同样也加深了对redis不同策略机制的理解。既有常见的内存淘汰策略,持久化方案也有更多redis特性优劣的细节。评论点赞 - #青训营笔记创作活动#
1月22日 打卡day5
今天阅读学习了为什么要分库分表。在单表,单机数据量庞大的时候需要分库分表。分库分表都有水平和垂直两种不同的拆分形式。垂直拆分主要根据业务进行,利用垂直拆分库时多库之间无法直连,只能通过api进行交互,垂直拆表会需要能标识数据的键。水平拆分则是根据一定的理由规则将原数据分块。
路由规则有多种。比如范围算法,这种算法会根据某个字段的范围进行拆分,简单易用但不能处理热点数据。哈希算法拆分,能够均衡数据库压力,但是在生产环境下若有一服务器宕机被踢出集群,在他重新上线之前这段时间,原本应当存储在他这里的数据会放在别处,上线后对这些数据的查询会出现问题。于是出现了哈希+范围算法进行分库分表。
分库也有代理和本地(client )两种模式。前者更易维护升级,方便管理,但会加大系统的复杂性。后者本地直连性能略略优秀,也更方便,但不易维护升级。展开评论点赞 - #青训营笔记创作活动#
1月21日 打卡Day 4
今天学习了什么样的数据更适合放入缓存之中:读多写少。包括使用缓存可能导致的各种问题:缓存数据库双写不一致,缓存雪崩,缓存穿透,缓存并发竞争等等评论点赞 - #青训营笔记创作活动#
1月20日
Day 3
今天阅读了优秀后端应该具备的习惯。他们包括
1.注释尽可能全面,写有意义的方法注释
2.项目拆分合理的目录结构
3.不在循环里远程调用、或者数据库操作,优先考虑批量进行
4.封装方法形参
5. 封装通用模板
6. 封装复杂的逻辑判断条件
7.保持优化性能的嗅觉
8. 可变参数的配置化处理…等等
这些更像小贴士的习惯约定作为前人总结出的实践方法能够提高我们开发的效率和质量
展开评论点赞 - #青训营笔记创作活动#
1月18日 打开day2
今日学习网络原理的基础。从这篇文章里了解了网络运作的一些原理。
领略了人通过计算机网络,打破人处于现实物理空间限制的魅力。评论点赞 - #青训营笔记创作活动#
1月16日 打卡day1
今天阅读学习了go基础语法50问,巩固了go的基础,对之前学习的go语法进行查漏补缺。总体感受基础知识还算牢固。不过对于map的底层不甚了解,在这篇文章中得到了补充学习。评论点赞