8 斗者_2013

尚未进行身份认证

我要认证

多年java老兵,专注微服务,中间件等热点技术,分享工作心得和技术干货

等级
TA的排名 3k+

mysql系列:全网最全索引类型汇总

前言除了常见的普通索引,唯一索引,组合索引,大家还能说一下mysql中有哪些其他类型的索引吗?今天和大家一起总结mysql中有哪些索引类型。一、mysql中有哪些索引类型?聚簇索引 (Clustered Index)非聚簇索引主键索引(PRIMARY KEY)辅助索引(Secondary Indexes)HASH索引BTREE索引T-TREE索引R-Tree索引自适应hash索引(Adaptive Hash Index)唯一索引 (UNIQUE Indexs)普通索引 (No

2020-09-26 01:45:06

mysql系列之InnoDB存储引擎的磁盘结构

前言之前已经介绍了InnoDB整体的结构,并详细介绍了InnoDB内存结构的各个组成部分及其作用,今天继续分析InnoDB存储引擎的磁盘结构。一、InnoDB的磁盘结构InnoDB的磁盘结构主要由以下几部分组成:1、表2、索引3、表空间4、Doublewrite Buffer5、Redo Log6、Undo Logs二、表空间InnoDB采用将存储的数据按表空间(tablesspace)进行存放的设计。InnoDB下有以下5种表空间:1、系统表空间 The System Ta

2020-09-24 17:21:30

老万教你最简单接口幂等性控制

什么是接口幂等性接口幂等性,简单来说就是指一个接口调用一次和调用N次的效果是一样的,不会产生其他的副作用。注意:这里的效果一样和返回结果一样的区别,比如我们都知道查询接口具有天然的幂等性,但是多次调用查询接口的过程中,如果有其他操作对查询的数据进行了新增、修改、删除操作,那么查询接口的返回结果就会不一直,但是这并不能说明该查询接口不具有幂等性。场景说明典型场景,对指定订单发起一笔付款交易,无论交易接口调用一次还是N次,都只能扣用户账户一次钱。一般最简单的幂等处理就是通过订单状态来进行控制,伪代码

2020-09-22 20:33:22

mysql系列之InnoDB存储引擎结构详解

前言InnoDB是Mysql数据库中最重要的存储引擎,搞清楚它的结构对理解它的各种机制的实现原理非常重要。今天和大家一起分享下InnoDB的结构。一、InnoDB结构由图可知:InnoDB的底层结构主要由2部分组成:内存结构和磁盘结构。二、内存结构详解1、Buffer Pool缓冲池是主内存中的一个区域,InnoDB在访问表和索引数据时会在其中进行缓存。 缓冲池允许直接从内存中处理经常使用的数据,从而加快了处理速度。 在专用服务器上,通常将多达80%的物理内存分配给缓冲池。缓存的单位是页

2020-09-17 00:02:22

mysql系列之存储引擎

本篇主要介绍mysql的存储引擎,说明主要的几个存储引擎的特性及其差别。一、存储引擎介绍数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎还可以获得特定的功能。MySQL 的核心就是存储引擎,不同存储引擎支持的特性各不相同。MySQL中的存储引擎是插件式存储引擎。MySQL 5.5.5 之后,InnoDB 作为默认存储引擎。MySQL中的存储引擎的控制级别是表级别,.

2020-09-14 01:03:09

java打怪升级地图

文章目录前言一、java打怪升级地图1、java基础2、数据库3、编程强化4、软件项目管理5、热门技术框架6、分布式架构7、服务器中间件8、服务器技术9、容器技术10、业务解决方案总结前言技术人的道路没有容易二字,想要保持竞争力就要不停的学习。今天分享一个java学习的路线图,希望大家都能不停的打怪升级,成为武林高手。一、java打怪升级地图1、java基础java基础部分,内容其实真的不多,如果工作几年,面试的时候连面向对象编程的3大特性,集合之间的区别,抽象类和接口的区别,线程有几种创

2020-09-13 17:20:20

Spring boot + RabbitMQ延迟队列实战

一、背景延时队列顾名思义,即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。那么,为什么需要延迟消费呢?我们来看以下的场景:订单业务: 在电商/点餐中,都有下单后 30 分钟内没有付款,就自动取消订单。短信通知: 下单成功后 60s 之后给用户发送短信通知。失败重试: 业务操作失败后,间隔一定的时间进行失败重试。传统订单处理:采取定时任务轮训数据库订单,并且批量处理。其弊端也是显而易见的;对服务器、数据库性会有很大的要求,并且当处理大量订单起来会很力不从心,而且实时性也

2020-07-23 12:13:19

一图搞定MySQL体系架构

要了解mysql的运行机制,那么首先要对mysql的体系结构有一定的了解。最近由于一些事,被打击的不轻,感觉自己可能再怎么努力,职业生涯也就这样了。所以对专研技术、写博客突然丧失了原来的激情。但不管怎样,路是自己选的,哭着也要走完。何况,目前好像也没有其他路可走。mysql体系结构由图,可以看出MySQL由一下几部分组成:连接池组件管理服务和工具组件SQL接口组件查询分析器组件优化器组件缓冲(Cache)组件插件式存储引擎物理文件说明:MySql数据库区别于其他数据库的.

2020-07-05 19:23:36

5分钟,使用yum方式完成mysql安装

跟着老万,教你5分钟使用yum方式安装mysql。最近打算写一些关于mysql的系列文章,作为第一篇,来教大家如何快速的使用yum命令在线安装mysql。卸载旧的mysql版本rpm -qa | grep MySQL查看之前安装的 MySQL使用:rpm -e xxxxxxxxxxxxx # 卸载所有 MySQL 服务查看残留 MySQL 文件:find / -name MySQLRm -rf 文件 # 删除残留文件...

2020-06-27 23:27:55

mysql中文全文检索从入门到放弃

背景中文全文检索实战坑放弃

2020-06-17 22:47:46

spring boot中通过注解@Bean声明的bean的名称是什么?

问题spring boot中我们常常会在configuration类中通过@Bean注解去声明Bean。但是很多人不清楚默认情况下,通过@Bean注解声明的Bean的名称是什么?请问,如下代码声明bean的名称是什么?@Configurationpublic class LogAutoConfigure { @Bean public Queue queueTest() { return new Queue("log-queue", true); }}为

2020-06-15 23:36:22

Spring boot属性文件加载和生效顺序深度分析

spring boot最核心的特性就是自动化配置,我们在学习spring boot的时候,首要需要了解它的自动化配置原理,其次是属性文件的加载顺序,我认为这两点是学习spring boot的重中之中。网上介绍spring boot属性文件的加载顺序的文章很多,但都没有从源码上深入分析。今天和大家一起通过源码探究,spring boot属性文件的加载顺序。这里说明一个观点,先加载的属性未必会生效,后加载的属性未必一定会覆盖先加载的属性值。是不是感觉很玄学,很佛系。...

2020-06-09 23:18:06

给你的SpringBoot工程打的jar包瘦瘦身

Spring boot默认方式打包,由于打的是全量依赖包(也称为fat包),不但打包慢,体积大,传输也慢,今天教大家给spring boot瘦瘦身。背景现在微服务架构越来越流行,一个项目10多个基于spring boot的服务模块很常见。假设一个服务模块打成jar包是100M,那么一次全量发布可能就需要上传1G的文件。在网络情况好的时候可能还没多大感觉,但如果是代码需要拷贝到内网发布,或者上传到某些国外服务器上, 将严重影响工作效率。那么,有没有什么办法给我们打的spring boot的jar包瘦.

2020-05-31 01:18:29

工作8年的普通专科生程序员的一些感悟

不知道从何时起,互联网圈充斥着各种年薪百万,仿佛走上了软件开发行业,就都能拿到高薪,走向人生巅峰一样。作为一个最普通的专科毕业的程序员,给大家分享下自己8年工作生涯的一些感悟和总结。还记得自己刚开始进入软件开发行业的时候,也是在网上看了好多大佬的工作总结,每次看完总是踌躇满志,像打了鸡血一样充满干劲。所以这也是我的博客ID命名为斗者_2013的原因。斗者,与天斗,其乐无穷;与地斗,其乐无穷;与人斗,其乐无穷。2013年,算是我正式踏上软件开发的第二年。时间过的真的很快,转眼进入软件开发行业8年了.

2020-05-28 00:27:23

Spring boot前后端分离后,跨域问题怎么解决?

现在基于spring boot前后端分离的开发模式越来越普遍,那么,由于前后端分离引发的跨域问题,你知道怎么解决吗?什么是跨域跨域是指 不同域名之间相互访问。即浏览器控制当前网页下不能执行其他网站的脚本,这是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。也就是如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的。同源策略同源策略/S.

2020-05-20 02:40:22

Spring boot随机端口你都不会,怎么动态扩容?

一般情况下每个spring boot工程启动都有固定的端口,但是在微服务领域,服务的多实例扩容部署是非常常见的,如果在一台服务器上需要对同一个服务进行多实例,就会出现端口冲突,那么怎么解决这个问题呢?–答案是随机端口random随机端口在spring boot中,可以通过${random}来生成随机数字,我们可以在配置文件中,这么设置端口:server.port=${random.int(2000,8000)}通过random.int方法,指定生成2000~8000的随机端口。这样每次启动的端.

2020-05-19 01:59:56

小白都能听懂的spring boot自动化配置原理

spring boot最核心的特性就是他的自动化配置特性,极大的减少了构建一个spring web工程的工作量。那么你知道spring boot自动化配置的原理吗?先直接自定义一个user-spring-boot-starter组件,感受下自动化配置的魅力。构建user-spring-boot-starterpom依赖 <parent> <groupId>org.springframework.boot</groupId> .

2020-05-16 01:42:14

redis缓存解耦详解

redis是现在最主流的缓存利器,但是你的项目中,缓存真正做到了解耦了吗?背景最近,项目中遇到一个redis缓存使用的问题,当redis连接不上时,直接导致业务异常。redis不是做为缓存使用吗?当缓存中查询不到,不是应该主动从数据库加载吗?最后发现是利用RedisTemplate操作缓存,没有进行异常捕捉处理,导致异常抛出影响到业务的正常执行。那么,你的项目中,缓存操作真的做到了解耦吗?缓存原理缓存的使用目前redis缓存主要有2种使用方式:方式一:结合Spring Cache使用,.

2020-05-12 11:50:07

Spring Boot之全局异常处理:404异常为何捕获不到?

Spring Boot有很多非常好的特性,可以帮助我们更快速的完成开发工作。今天和大家聊聊Spring boot的全局异常处理。问题1、spring boot中怎么进行全局异常处理?2、为什么我的404异常捕获不到?3、常见的http请求异常,能统一封装成json返回吗?实战说明项目依赖包:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>

2020-05-10 20:54:45

RabbitMQ中真的只有四种交换器吗?

微信公众号:跟着老万学java欢迎关注,了解更多编程技巧,一起交流,一起成长。如果大家看了我之前的文章,应该都知道,rabbitmq中常用的交换器有4中,分别是:direct、fanout、topic、headers。那么rabbitmq中,真的只有4中交换器吗?今天和大家一起研究下。一个简单的方式,通过启动rabbitmq_management插件,在管理控制台去尝试创建excha...

2020-05-08 02:32:32

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。