获得徽章 12
- #青训营笔记创作活动#
2023.02.04_Day23![[咖啡]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)
【跨域问题】
什么是跨域问题?
跨域问题指的是不同站点之间,使用 ajax 无法相互调用的问题。跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。 但这个保护机制也带来了新的问题,它的问题是给不同站点之间的正常调用,也带来的阻碍。
在请求时,如果出现了以下情况中的任意一种,那么它就是跨域请求:
1. 协议不同,如 http 和 https;
2. 域名不同;
3. 端口不同。
也就是说,即使域名相同,如果一个使用的是 http,另一个使用的是 https,那么它们也属于跨域访问。
解决跨域问题:
1. 通过注解跨域
2. 通过配置文件跨域
3. 通过 CorsFilter 跨域
4. 通过 Response 跨域
5. 通过 ResponseBodyAdvice 跨域展开赞过11 - #青训营笔记创作活动#
2023.02.03_Day22![[咖啡]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)
【缓存之于高并发】
缓存存在的初衷,就是为了兼容两个处理速度不一致的场景对接适配的。
缓存作为互联网类软件系统架构与实现中的基石般的存在,不仅仅是在系统扛压或者接口处理速度提升等性能优化方案,在其他多个方面都可以发挥其独一无二的关键价值。
缓存可以降低自身CPU消耗
缓存可以对外IO交互
缓存可以提升用户个性化体验
缓存作为高并发系统中的神兵利器被广泛使用,堪称高并发系统的基石之一。展开赞过评论1 - #青训营笔记创作活动#
2023.02.02_Day21![[咖啡]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)
【高并发设计秒杀系统】
高并发下如何设计秒杀系统,这是一个常见的面试题,有很多细节需要注意:
1. 瞬时高并发
2. 页面静态化
3. 秒杀按钮
4. 读多写少
5. 缓存问题
6. 库存问题
7. 分布式锁
8. MQ异步处理
9. 如何限流
具体的细节请参考原文。展开评论点赞 - #青训营笔记创作活动#
2023.02.01_Day20![[咖啡]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)
【Redis刨根问底】
特别说明:即日起不再按照给定的文章顺序进行阅读
前言:随着互联网时代的崛起,人们对于网站访问速度有着越来越高的要求,直接使用关系型数据库的方案在性能上就出现了瓶颈。因此在客户端与数据层之间就需要一个缓存层来分担请求压力,而 Redis 作为一款优秀的缓存中间件,在企业级架构中占有重要的地位,因此 Redis 也作为面试的必问项。
篇幅所限,这里先给出30个问题,便于后续查找和学习:
1. 什么是Redis
2. Redis的优缺点
3. Memcache和Redis的区别
4. Redis支持的数据类型
5. Redis中String类型的实现原理
6. Redis为何直接以内存存储
7. Redis如何进行内存优化
8. Redis如何实现分布式锁
9. Redis高性能的原因
10. Redis持久化的方式
11. Redis过期删除策略
12. Redis的同步机制
13. Redis的内存淘汰策略
14. Redis常见的问题
15. Redis如何进行缓存降级
16. Redis如何进行缓存更新
17. Redis如何缓存热点Key
18. Redis的哨兵模式
19. Redis的Pipeline管道
20. Redis如何进行性能优化
21. Redis的数据一致性问题
22. Redis如何实现事务
23. Redis如何实现集群
24. Redis的脑裂问题
25. Redis如何实现异步队列
26. Redis如何实现延迟队列
27. Redis中哈希槽的概念
28. Redis的应用场景
29. Redis实现签到表功能
30. Redis中Zset的底层实现展开评论点赞 - #青训营笔记创作活动#
2023.01.31_Day19![[咖啡]](//lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)
【数据库可视化】
Bytebase是一款面向开发者的数据库变更管理工具,目前在Github上已有3.6K+Star,是一款实用的数据库管理及变更工具,让我们在没有客户端的情况下也能方便地进行数据库管理,它的SQL审核功能可以避免开发人员对数据库的误操作。
它的主要特性如下:
SQL审核:具有一站式SQL审核面板,可以直观地看到数据库所有变更记录。
SQL建议:能自动检查SQL语句规范,额外提供GitHub Action和API接入方式。
SQL编辑器:可以在线管理及查看数据库表,支持语法的自动提示。
GitOps工作流:支持集成GitHub和GitLab,使用GitOps工作流进行数据库变更。
备份恢复:支持自动备份数据库及恢复数据。展开赞过11
![[白眼的狗]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_98.9f6d4ad.png)
![[咖啡]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_140.6908619.png)