- 博客(14)
- 收藏
- 关注
原创 Springboot 整合RabbitMq
扇型交换机,这个交换机没有路由键概念,就算你绑了路由键也是无视的。这个交换机在接收到消息后,会直接转发到绑定到它上面的所有队列。然后当一个消息携带着路由值为X,这个消息通过生产者发送给交换机时,交换机就会根据这个路由值X去寻找绑定值也是X的队列。主题交换机,这个交换机其实跟直连交换机流程差不多,但是它的特点就是在它的路由键和绑定键之间是有规则的。大致流程,有一个队列绑定到一个直连交换机上,同时赋予一个路由键 routing key。直连型交换机,根据消息携带的路由键将消息投递给对应队列。
2022-12-29 16:39:21 104 1
原创 Redis 缓存穿透 + 缓存雪崩 + 缓存击穿的原因和解决方案
判断y是否属于这个集合,对y使用k个哈希函数得到k个哈希值,对m取余,所有对应的位置都是1,则认为y属于该集合(哈希冲突,可能存在误判),否则就认为y不属于该集合。由于缓存层承载着大量请求,有效地保护了存储层,但是如果缓存层由于某些原因不可用(宕机)或者大量缓存由于超时时间相同在同一时间段失效(大批key失效/热点数据失效),大量请求直接到达存储层,存储层压力过大导致系统雪崩。通常可以在程序中统计总调用数、缓存层命中数、如果同一个Key的缓存命中率很低,可能就是出现了缓存穿透问题。
2022-12-25 02:47:03 276
原创 Redis分布式锁、不可重试(设置等待时间)、不可重入(同一个线程获取)、超时释放(设置释放时间)、主从一致性(主机加上锁,挂掉 ,还没同步到从机)
在我们的日常开发中,一个进程中当多线程的去竞争某一资源的时候,我们通常会用一把锁来保证只有一个线程获取到资源。如加上synchronize关键字或ReentrantLock锁等操作。那么,如果是多个进程相互竞争一个资源,如何保证资源只会被一个操作者持有呢?例如:微服务的架构下,多个应用服务要同时对同一条数据做修改,那么要确保数据的正确性,就只能有一个应用修改成功。
2022-12-25 02:34:00 2486
原创 [spring 注解开发]
但是要配合userDefaultFilters=false配合使用,因为默认的扫描规则是扫描所有的,如果不配置,则会使用默认的规则进行扫描。设置组件的作用域,如果是单例,则该Bean在装配的时候,Spring会自动创建并放到IOC容器中。如果是多实例,只会在使用到该Bean的时候才创建然后装配。@Configuration等于一个配置文件,如果某个Java类上标注了这个注解,则表示这个类是一个配置类。针对singleton的实例,容器启动的时候先不创建,在第一次使用的时候创建,以后每次都从容器中去取。
2022-12-10 23:32:53 150
原创 mysql索引失效的常见9种原因详解
MySQL中提高性能的一个最有效的方式是对数据表设计合理的索引。索引提供了高效访问数据的方法,并且加快查询的速度, 因此索引对查询的速度有着至关重要的影响。使用索引可以快速地定位表中的某条记录,从而提高数据库查询的速度,提高数据库的性能。如果查询时没有使用索引,查询语句就会扫描表中的所有记录。在数据量大的情况下,这样查询的速度会很慢。大多数情况下都(默认)采用B+ 树来构建索引。只是空间列类型的索引使R- 树,并且MEMORY 表还支持hash索引。其实,用不用索引最终都是优化器说了算。
2022-11-29 22:52:08 3964
原创 【索引的数据结构】
如果就生成两层树的话。查询某个数值,第一个目录页不存在,还要查询第二个,第三个,会产生多次io。目录项记录的record_type值是1,而普通用户记录的record_type 值是0。mysql 数据页16kb, 目录页 、目录页的目录页。
2022-11-17 20:41:42 309
原创 【mysql 高级篇】
*mysql 密码多少天过期策略 、密码强度策略(具体百度,没做笔记)每次更新权限后记得刷新权限。mysql 逻辑架构。mysql 查询缓存。
2022-11-16 20:45:52 380
原创 【mysql 存储视图、存储过程、存储函数、变量】
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。MySQL 5.0 版本开始支持存储过程。mysql 存储过程。
2022-11-14 17:20:49 377
原创 【nexus 私服搭建】
如果没有私服,我们所需的所有构件都需要通过的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载和浪费了外网带宽,如果网速慢的话,还会影响项目的进程。很多情况下项目的开发都是在内网进行的,连接不到maven仓库怎么 办呢?开发的公共构件怎么让其它项目使用?这个时候我们不得不为自己的团队搭建属于自己的maven私服,这样既节省了网络带宽也会加速项目搭建的进程, 当然前提条件就是你的私服中拥有项目所需的所有构件。
2022-11-02 17:42:31 2819
原创 maven
但是,通过上面的parent继承的方法,只能继承一个 spring-boot-start-parent。[在这里插入图片描述](https://img-blog.csdnimg.cn/2af1c602b12943eaaa0303fb579ed5cc.png)-- 替代父级pom 的中央仓库,请求central这个仓库。-- 对哪个仓库进行镜像,简单来说替代哪个仓库 -->-- 镜像的唯一标识,用来区分不同的mirror元素 -->-- 开发环境 -->-- 测试环境 -->-- 发布环境 -->
2022-11-02 11:29:53 121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人