
获得徽章 10
- #青训营笔记创作活动#
2月20日 打卡day37
今日学习《聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性》
本文主要介绍了缓存的使用过程中的一些典型异常的触发场景与防护策略,并探讨了保持缓存与数据库数据一致性的一些保障手段。展开评论点赞 - #青训营笔记创作活动#
2月19日 打卡day36
今日学习《go基础语法50问,来看看你的go基础合格了吗?》
本文主要介绍了关于GO基础语法的50个问题,如:.使用值为 nil 的 slice、map会发生啥、访问 map 中的 key,需要注意啥、switch 中如何强制执行下一个 case 代码块、解析 JSON 数据时,默认将数值当做哪种类型等容易出错的问题。展开评论点赞 - #青训营笔记创作活动#
2月17日 打卡day35
今日学习《使用 Go HTTP 框架 Hertz 进行 JWT 认证》
本文主要介绍了一个高性能的 Go HTTP 框架——Hertz,本文围绕 Hertz 开源仓库的一个 demo,讲述如何使用 Hertz 完成 JWT 的认证与授权流程。展开评论点赞 - #青训营笔记创作活动#
2月14日 打卡day34
今日学习《(六)MySQL索引原理篇:深入数据库底层揭开索引机制的神秘面纱!》
本文主要讲了:InnoDB-非聚簇索引与MyISAM-非聚簇索引的区别:
InnoDB中的非聚簇索引是以聚簇索引的索引键,与具体的行数据建立关联关系的。
MyISAM中的非聚簇索引是以行数据的地址指针,与具体的行数据建立关联关系的。
一般来说,由于MyISAM引擎中的索引可以根据指针直接获取数据,不需要做二次回表查询,因此从整体查询效率来看,会比InnoDB要快上不少。
展开评论点赞 - #青训营笔记创作活动#
2月13日 打卡day33
今日学习《(为什么说MySQL单表行数不要超过2000w?》
本文主要讲了:
一、Mysql 的表数据是以页的形式存放的,页在磁盘中不一定是连续的。
二、页的空间是 16K, 并不是所有的空间都是用来存放数据的,会有一些固定的信息,如,页头,页尾,页码,校验码等等。
三、在 B+ 树中,叶子节点和非叶子节点的数据结构是一样的,区别在于,叶子节点存放的是实际的行数据,而非叶子节点存放的是主键和页号。
四、索引结构不会影响单表最大行数,2kw 也只是推荐值,超过了这个值可能会导致 B + 树层级更高,影响查询性能。展开评论点赞 - #青训营笔记创作活动#
2月12日 打卡day32
今日学习《(十五)MySQL命令大全:以后再也不用担心忘记SQL该怎么写啦~》
本文从罗列了MySQL中大部分常用的命令,基础操作与库命令,增删改查语句
MySQL数据库函数,MySQL支持的数据类型,索引相关的命令,事务与锁相关的命令等。展开评论点赞 - #青训营笔记创作活动#
2月11日 打卡day31
今日学习《用万字长文来讲讲本地锁至分布式锁的演进和Redis实现,扩展 Redlock 红锁》
本文从本地锁一直讲到分布式锁,将Redis实现分布式锁中的一些问题,逐步进行了讲述。
从使用简单的 Redis 中的 SET KEY NX命令实现分布式锁,到使用SET KEY NX EX TIME 命令解决死锁问题,到增加身份标识(UUID) 解决锁被其他人释放问题,
再到使用 Lua 脚本,将解锁操作变成原子性操作,最后讲述了Redisson实现分布式锁,解决了锁自动续期问题。展开评论点赞 - #青训营笔记创作活动#
2月10日 打卡day30
今日学习《面试突击81:什么是跨域问题?如何解决?》
跨域问题的本质是浏览器为了保证用户的一种安全拦截机制,想要解决跨域问题,只需要告诉浏览器“我是自己人,不要拦我”就行。它的常见实现方式有 5 种:通过注解实现局部跨域、通过配置文件实现全局跨域、通过 CorsFilter 对象实现全局跨域、通过 Response 对象实现局部跨域,通过 ResponseBodyAdvice 实现全局跨域。展开评论点赞 - #青训营笔记创作活动#
2月9日 打卡day29
今日学习《Flowable 开篇,流程引擎扫盲》
市面上主流的流程引擎就一共有三个:Activiti、Flowable、Camunda。这三个各有特点:Activiti 目前是侧重云,他目前的设计会向 Spring Cloud、Docker 这些去靠拢。Flowable 核心思想还是在做一个功能丰富的流程引擎工具,除了最最基础的工作流,他还提供了很多其他的扩展点,我们可以基于 Flowable 实现出许多想要的功能。Camunda 相对于前两个而言比较轻量级,Camunda 有一个比较有特色的功能就是他提供了一个小巧的编辑器,基于 bpmn.io 来实现的。如果项目需求是做一个轻巧的、灵活的、定制性强的编辑器,工作流是嵌入式的,那么可以选择 Camunda。展开评论点赞 - #青训营笔记创作活动#
2月8日 打卡day28
今日学习《基于 AOP + Redis + 自定义注解 实现细粒度的接口IP访问限制 | 开源微服务项目》
本文讲解了如何在微服务中优雅的实现一个公用的接口访问限制工具。作者写法是基于 AOP + 自定义注解 + Redis,并且封装在一个单独的模块 common-web 下,需要使用的模块只需引入该包,并且给需要限制的方法添加注解即可,很方便,且松耦合。唯一的缺点是该方法只支持在方法上添加注解,不支持给类添加,如果想给一个类的所有方法添加上限制,则必须给该类的所有方法都加上该注解才行。展开评论点赞