获得徽章 8
- #青训营笔记创作活动#
2月17日 打卡day42
今日学习 数据表分区 1.数据量较大 2.查询场景只在某个区 3.没有联合查询的场景 数据表分表 数据量较大,无法区分明显冷热区 且数据可以完整按照区间划分 冷热归档分库 数据量较大;数据冷热分区明显;冷数据使用频率极低;展开评论点赞
2月15日 打卡day41
今日学习 #青训营笔记创作活动# debug代码是一个常用而且很常见的技能,但是不是每个人都能很有效率的debug代码...
有一些idea隐藏的debug方式,虽然一些人不关注,但是有用并且能极大提升效率
文章主要介绍一些一些在实际项目中相对有用的可以提升debug能力的一些经验。最后如果说实在是有问题,但是又没办法进入调试模式,可以考虑arthas的trace和watch。展开评论点赞
#青训营笔记创作活动#
2月14日 打卡day40
今日学习 其实窗口临界问题,就是在即将被移出窗口的这段区间内,可能一次性访问量达到了我们的阈值,而由于要移出窗口了,计数又将重置了,所以这些访问量就相当于不会被后续统计到,那么后续再次超过阈值,就变成双倍阈值了。展开评论点赞- #青训营笔记创作活动#
2月13日 打卡day39
今日学习Java 8 引入了一个十分实用的 Optional 类,它主要是为了解决空指针异常(NullPointerException)。当我们对对象的属性进行检查,判断它的值是否为期望的格式,最终却发现我们查看的并不是一个对象,而是一个空指针,它会立即抛出一个让人厌烦的 NullPointerException 异常。展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day38
今日学习 秒杀特点是持续时间短,抢购人数多,参与人数远远高于商品数量。抢购开始前后大量用户请求涌入,极易给服务造成巨大压力。如果系统设计不当,还容易造成超卖、少卖、数据丢失、服务雪崩等问题。
秒杀的高并发场景下,传统订单架构存在的性能瓶颈,如何利用 redis、MQ 等中间件对系统做优化,解决缓存加速、防止重复提交、排队下单、超卖、少卖、削峰、异步下单等核心问题。展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day37
今日学习 缓存可靠性与数据一致性 热点数据与淘汰策略 缓存雪崩:避免缓存的集中失效 缓存击穿:有效的冷数据预热加载机制 缓存穿透:合理的防身自保手段 缓存的数据一致性 数据库更新+缓存更新 数据库更新+缓存删除展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day36
今日学习 string 类型的值是只读的二进制 byte slice,如果真要修改字符串中的字符,将 string 转为 []byte 修改后,再转为 string 即可。 在 encode/decode JSON 数据时,Go 默认会将数值当做 float64 处理。 recover 必须在 defer 函数中运行 for select配合时,break 并不能跳出循环。展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day35
今日学习 PayloadFunc:它的入参就是 Authenticator 的返回值,此时负责解析 users[0],并将用户名注入 token 的 payload 部分。
Key:指定了用于加密 jwt token 的密钥为 "secret key"。
Timeout:指定了 token 有效期为一个小时。展开评论点赞 - #青训营笔记创作活动#
2月7日 打卡day34
今日学习 聚簇索引和非聚簇索引的根本区别:
聚簇索引中,表数据和索引数据是按照相同顺序存储的,非聚簇索引则不是。
聚簇索引在一张表中是唯一的,只能有一个,非聚簇索引则可以存在多个。
聚簇索引在逻辑+物理上都是连续的,非聚簇索引则仅是逻辑上的连续。
聚簇索引中找到了索引键就找到了行数据,但非聚簇索引还需要做一次回表查询展开评论点赞 - #青训营笔记创作活动#
2月6日 打卡day33
今日学习 Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。
页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。
在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。
索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。展开评论点赞