获得徽章 1
- #青训营笔记创作活动#
2月20日 打卡day40
今天主要学习了redis高级应用场景,包括限流,延时队列,布隆过滤器的实现,幂等处理,redis的incr等知识。使我对redis有了更进一步的了解。评论点赞 - #青训营笔记创作活动#
2月19日 打卡day39
今天学习了如何利用optional解决空指针异常。JAVA 8引入了一个十分实用的Optional类,它主要是为了解决空指针异常。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针。这个简单而强大的类有助于创建简单可读性更强,比对应程序错误更少的程序。展开评论点赞 - #青训营笔记创作活动#
2月18日 打卡day38
今天学习了如何实现真正的高性能,高并发的上亿级别秒杀系统。
秒杀特点是持续时间短,抢购人数多,参与人数远高于商品数量,抢购开始前后大量数据请求涌入,极易给服务造成巨大压力。如果系统设计不当,还容易造成超卖少卖数据丢失,服务雪崩等问题。
今天我们学习了在秒杀的高并发场景下,传统订单架构存在的性能瓶颈,如何利用redis mq等中间件对系统做优化,解决缓存加速,防止重复提交,排队下单,超卖少卖等核心问题展开评论点赞 - #青训营笔记创作活动#
2月17日 打卡day37
今天我们主要学习了缓存使用过程中一些典型异常的触发场景与防护策略,并且了解了保持缓存与数据库一致性的一些保障手段。评论点赞 - #青训营笔记创作活动#
2月16日 打卡day36
今天学习了go基础语法50问,复习了go语言的基础知识,对go语言有了更深的了解,加强了我对基础知识的记忆,谢谢作者的归纳总结。评论点赞 - #青训营笔记创作活动#
2月15日 打卡day35
今天将围绕hertz开源仓库的一个demo学习如何使用hertz完成jwt的认证与授权流程。对于该demo的介绍,下载,结构,分析都进行了详细的解读,给予我很大帮助。评论点赞 - #青训营笔记创作活动#
2月14日 打卡day34
今天主要学习了MySQL,深入数据库底层揭开了索引机制的神秘面纱。对索引为什么默认是B+树结构,建立索引后发生的一系列事情,写类型的SQL对数据的影响等一系列内容进行了深入剖析。最后介绍了聚簇索引和非聚簇索引的根本区别。展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day33
今天对MySQL单表行数为什么不超过2000万问题进行了研究,得出如下结论;MySQL的表述句是以页的形式存放的页,在磁盘中不一定是连续的;夜的空间是16k,并不是所有的空间都是用来存放数据的,会有一些固定的信息,如页头,页尾等;在B+树中,叶子节点和非叶子节点的数据结构是一样的,区别在于叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和叶号;毒瘾结构不会影响单表最大行数2000万,也只是推荐值超过了这个值,可能会导致B+树层级更高,影响查询性能展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day32
今天学习了MySQL命令大全。我们在编写时有困扰,就是明明记得数据库中有个命令,可以实现自己需要的功能,但偏偏不记得那个命令该怎么写了?这时只能盲目的靠百度一次,来寻找自己需要的命令。今天学习的文章将一些常用的命令全部罗列出来,以后当需要用,到时只需来回搜索即可。包括基部操作与库命令,表的分析检查等命令,增删改查语句等。对我数据库的学习起到了很大的帮助。展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day31
今天了解了本地锁以及从本地锁到分布式锁的整个演进过程。首先了解了本地锁如何使用以及本地所存在的问题,接着了解到了分布式锁如何解决本地锁的缺点,以及如何实现分布式锁。最后,对于红锁Redlock进行了介绍展开评论点赞