获得徽章 1
- #青训营笔记创作活动#
2月23日 打卡day23
今天学习了数据库索引为什么使用B+树作为数据结构,以及相比于其他数据结构而言,B+树在查询过程中的优势,以及MySQL对于B+树的优化和应用评论点赞 - #青训营笔记创作活动#
2月22日 打卡day22
今天学习了如何使用Redis实现本地锁,实现分布式锁,以及使用红锁的场景,从零到整解决分布式锁问题的情况,以及具体的使用代码场景评论点赞 - #青训营笔记创作活动#
2月21日 打卡day21
今天学习了在开发过程中经常遇到的跨域请求问题,以及对于跨域请求的五种常见处理方式,而跨域请求的本质就是让浏览器认为本次跨域请求是安全的进而进行通过,解决跨域问题评论点赞 - #青训营笔记创作活动#
2月20日 打卡day20
今天学习了数据库需要分库分表的相关问题,以及分库分表的原因,使用分库分表的意义何在,如何选择合适的分库分表架构模式,以及如何提高治理和监控的高效性评论点赞 - #青训营笔记创作活动#
2月19日 打卡day19
今天学习了在使用数据库和缓存时,当两者数据不同时需要如何处理来保证数据的一致性,针对不同场景如何处理,比如对于数据库和缓存操作的四种情况更新数据库和缓存的常见四种方式
先更新缓存,再更新数据库
先更新数据库,再更新缓存
先删除缓存,再更新数据库
先更新数据库,再删除缓存展开评论点赞 - #青训营笔记创作活动#
2月18日 打卡day18
今天学习了数据库进行分库分表操作的具体优势以及其好处,client模式分库分表一般是依赖基础架构团队的Jar包,一旦有版本升级或者Bug修改,所有应用到的项目都要跟着升级。小规模的团队服务少升级问题不大,如果是大公司服务规模大,且涉及到跨多部门,那么升级一次成本就比较高;展开评论点赞 - #青训营笔记创作活动#
2月15日 打卡day17
今天学习了缓存和数据库不一致的情况的相关处理方法,了解到了使用缓存可能会导致缓存与数据库双写不一致缓存雪崩、缓存穿透,缓存并发竞争,以及适合在读多写少的场景下使用缓存评论点赞 - #青训营笔记创作活动#
2月13日 打卡day16
今天学习了缓存相关的知识,这里学习的知识并不仅限于我们耳熟能详的Redis缓存,还包含缓存相关的思想以及对应缓存使用的模型和实战场景评论点赞 - #青训营笔记创作活动#
2月12日 打卡day15
今天学习了在高并发秒杀场景下的注意事项,使用静态页面减少并发
只在请求秒杀的时候才获取请求,减少请求量
使用CDN,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
秒杀按钮限制
静态页面中的动态按钮:当秒杀开始的时候系统会生成一个新的js文件,此时标志为true,并且随机参数生成一个新值,然后同步给CDN。由于有了这个随机参数,CDN不会缓存数据,每次都能从CDN中获取最新的js代码。
使用集群部署Redis等高效中间件
秒杀场景读多写少
缓存相关问题
缓存击穿:预热,避免穿透
缓存穿透:使用布隆过滤器来快速得知是否存在数据(更新频率高的数据不适合)
超卖问题
使用Redis+lua实现
分布式锁
使用Redis实现分布式锁
消息队列异步处理
使用消息队列将秒杀过程和付款等流程解耦
限流策略
同一用户,ip限流
提高门槛:验证码,身份认证等展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day14
今天学习了TLS加密的详细过程,了解了如何使用TLS通过四次握手来创建安全的连接,以及为什么要使用三个随机数,客户端加密相关算法,私钥公钥相关加密细节,也算是了解了https中的s到底是什么展开评论点赞