
获得徽章 8
- #青训营笔记创作活动#
2月23日 打卡day44
今日学习 SQL优化
一般来说,SQL写好了,索引建对了,基本上就已经优化到位了,对于一些无可避免的慢SQL执行,比如复杂SQL的执行、深分页等情况,要么就从业务层面着手解决,要么就接受一定的耗时,毕竟凡事不可能做到十全十美。展开评论点赞 - #青训营笔记创作活动#
2月20日 打卡day43
今日学习 如何给开源库(Hertz)提PR
最近在公司同学的热心帮助下尝试给开源库(Hertz——Golang高性能Http框架)提了一次PR,在这里浅浅地记录一下从提pr到merge的整个过程,方便自己以及有需要的掘友。展开评论点赞 - #青训营笔记创作活动#
2月19日 打卡day42
今日学习 Mysql大数据表处理方案
一个表的数据量达到好几千万或者上亿时,加索引的效果没那么明显啦。性能之所以会变差,是因为维护索引的B+树结构层级变得更高了,查询一条数据时,需要经历的磁盘IO变多,因此查询性能变慢。展开评论点赞 - #青训营笔记创作活动#
2月18日 打卡day41
今日学习 这样Debug,排查问题效率大大提升
Debug是开发人员必备的基础技能,伴随着开发生涯,只要需要写代码,就一定有debug的诉求... 因为大部分开发同学都是用Debug来确认程序是不是预期进行(单元测试也可以)。展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day40
今日学习 Redis "高级"应用场景 -- 限流、延时队列、幂等处理
Redis限流 固定窗口计数
固定窗口计数是指,假设我们的限流规则是:1min内最多只能访问10次,那么固定窗口就是固定了【 1min-2min】这个窗口内,只能有10次访问
,相应的我们就要给这个窗口维护一个计数器。
为了节省空间,其实我们不需要维护一个个窗口,只需要维护当前访问时间所在的窗口即可,以及对应的计数器,当新的访问到达了下一个窗口时,则计数器重置即可。展开评论点赞 - #青训营笔记创作活动#
2月6日 打卡day39
今日学习 利用Optional解决空指针异常
Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException)。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针,它会立即抛出一个让人厌烦的 NullPointerException 异常。展开评论点赞 - #青训营笔记创作活动#
2月5日 打卡day38
今日学习 实现真正的高性能高并发的上亿级别秒杀系统
秒杀特点是持续时间短,抢购人数多,参与人数远远高于商品数量。抢购开始前后大量用户请求涌入,极易给服务造成巨大压力。如果系统设计不当,还容易造成超卖、少卖、数据丢失、服务雪崩等问题。展开评论点赞 - #青训营笔记创作活动#
2月4日 打卡day37
今日学习 关于缓存可靠性、关乎数据一致性
热点数据与淘汰策略
缓存雪崩:避免缓存的集中失效
缓存击穿:有效的冷数据预热加载机制
缓存穿透:合理的防身自保手段
缓存的数据一致性展开评论点赞 - #青训营笔记创作活动#
1月23日 打卡day35
今日学习 使用 Go HTTP 框架 Hertz 进行 JWT 认证
使用 Hertz 完成 JWT 的认证与授权流程,
hertz-jwt 是 Hertz 众多外部扩展组件之一,Hertz 丰富的扩展生态为开发者带来了很大的便利。展开评论点赞