自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 关于Mysql的for update操作的分析

在介绍for update之前我们先粗浅的了解一下mysql的锁机制。按锁定粒度分为:行锁:锁定一行数据表锁:锁定整张表按操作类型分为:共享锁:也就是常说的读锁,各个事物共享读操作,阻塞写操作。排他锁:写锁,当一个事务开启了排他锁,其他事务针对被上写锁的表或行数据都不能读或写悲观锁:默认本次操作会对数据进行修改直接锁住数据,很悲观(被害恐惧症)。有点类似于java...

2019-09-09 16:06:25 340

原创 浅谈Redis主从复制,读写分离(一)

一.概述在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(master),而对主服务器进行复制的服务器则被称为从服务器(slave)。其主要作用有二:读写分离,提高效率容灾恢复二.如何实现读写分离呢?1.从上面这张图很明显可以看出,读写已经被分离了。主数据库Maste...

2019-05-23 12:08:28 447

原创 springboot配合FutureTask/Callable实现并行处理

一、简介很多同学在学多线程的时候不知道它后来能用在哪儿,这里我提供一个使用多线程的小思路。现有一个微服务场景,用户想查看某个作者和该作者写的文章。那么他需要从用户服务和文章服务分别去调然后等待结果一起返回。假如用户服务需要2秒返回结果,文章服务需要3秒返回结果,加起来就是5秒,如果业务在复杂一点可能还会调别的服务,例如订单服务、商品服务。。。那么如此我们的调用时间是累加的。系统的等待时间随着业...

2019-10-29 16:33:28 5776

原创 Rocketmq的环境搭建(CentOS7)

官网:http://rocketmq.apache.org/所需环境:我们为了方便直接下载不用编译的版本。将文件放入linux中解压:这里我放在了 /opt目录中,放在哪里随你便。unzip rocketmq-all-4.4.0-bin-release.zip改个文件名: mv ./rocketmq-all-4.4.0-bin-release/ rocketmq配置:​ n...

2019-10-28 13:56:37 687

原创 消息队列作用简介

一、消息队列作用削峰填谷:秒杀。 可以将 峰值的流量 转移到 其他地方(谷)如图所示,在秒杀时间系统可能会由于瞬间爆发式增长的流量而造成瘫痪,但这个峰值渡过之后系统的访问量又会急剧下降。如此看来,我们的服务器资源利用性不太均衡。如果我们加入消息队列来将一部分请求先放入队列,让服务器有能力先处理一部分,等服务器处理完之后再将另一部分请求发给服务器,以此达到削峰填谷的目的。解耦合:生产者...

2019-10-28 10:08:46 1114

原创 Mysql 性能分析及索引优化

一.概述在日常开发中咱们最常接触的就是sql语句了,而往往性能的问题也都体现在sql的优化上。当数据量庞大的时候,sql的性能显得极其重要。1.了解mysql 查询性能优化器意思就是说我们写sql语句,到了mysql那里就不见得就会按我们说的一一执行,他可能会换一种更为高效的方式帮我们达到目的。(不管怎么说,查出来的结果会是我们需要的结果)二.如何对sql进行一个性能评估?Explai...

2019-05-30 23:21:27 147

转载 Mysql 七种join

Mysql 的七种 join sql 编写 首先创建两张表CREATE TABLE `t_user` ( `id` bigint(16) NOT NULL AUTO_INCREMENT, `name` varchar(64) NOT NULL, `age` int(4) NOT NULL, `gender` tinyint(2) DEFA...

2019-05-30 12:46:17 209 1

转载 mysql两种常用引擎介绍

一.Myisam与InnoDb对比

2019-05-30 12:33:45 129

转载 FastJson的简单实用

fastJson对于json格式字符串的解析主要用到了一下三个类:JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。JSONObject:fastJson提供的json对象。JSONArray:fastJson提供json数组对象。我们可以把JSONObject当成一个Map<String,Object>来看,只是JS...

2019-05-29 15:05:11 95

原创 linux文件目录结构(二)

一.从ls -l说起[r] :可以读文件[w] :可以写文件,但不能删除文件,删除文件的前提是有修改目录的权限(比如你想拿保险柜的钱就要能打开保险柜的锁)[x]:可执行文件举例说明:拆成这样来看 :- rw- r-- r-- 第一位 - 代表是文件不是目录,rw- 表示当前用户可以对它读和写,r–代表当前组其他人只能读,最后一个r–表示其他组的人只能读。二.第0位...

2019-05-28 11:20:18 121

原创 Linux的文件目录结构(一)

一。概述对于我们后端程序员来说,了解linux下的开发是非常有必要的。这其中就包括linux的文件目录,如果目录都摸不透的话,找东西都费劲。二、树状结构最顶部是根目录 /将这些目录挨个拆解来看:bin : binary的缩写,存放着最经常使用的命令boot : 存放的是linux启动时的必要文件,自己的文件不要放在这里dev (设备) :存放着linux的外部设备,访问外部设备...

2019-05-27 22:26:10 191

原创 关于Linux后端开发需要的知识2

一。常用命令21.网络配置1.ifconfig2.磁盘分区1.fdisk -l :查看磁盘分区情况2.df -h : 查看当前分区的空余容量3.搜索查找1.find : 查找文件或目录2.grep : 这个很重要!可以与其他命令通过管道配合,例如 ps -ef | grep -n root 显示所有进程里带有root字符串的行和行号4.进程线程类(重要)1.查看所有进程:...

2019-05-27 21:32:46 287

原创 Linux后端开发者需要知道的知识(非运维1)

一.Linux简介Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。二.linux内核引导面试常考 linux启动时首先读入的是/boot下的内...

2019-05-27 14:09:11 200

原创 浅谈Redis主从复制,读写分离(二)

一.前期回顾上一期我们对主从复制有了大致的了解https://blog.csdn.net/weixin_43262188/article/details/90478080大概如图,一个主库可以连接多个从库,但这样中心化较严重。二。“薪火相传”本期我们仍然用6379,6380,6381这三个终端来演示(如果不了解请看上一篇)。现在我们让6381 slaveof 6380,即认638...

2019-05-23 14:51:31 170

原创 Redis事务特性分析

一。总体概述可以一次执行多个命令,即一组命令的集合。按顺序执行这个命令集,且不会被其他命令所插入执行。总的来说,事务的执行一共有三个阶段:开启,入队,执行。Redis事务的常用命令1.Multi:事务开启从上可以发现,事务开启之后,我们再敲命令都会入队。这就跟mysql类似,先设计好一组命令出来,然后统一执行。2.EXec:执行事务(只要是符合redis规范的命令都会被执行)3.D...

2019-05-23 09:57:00 3455

原创 最详细Redis之持久化 RDB,AOF详解

史上最详细Redis之持久化 RDB,AOF详解一。总体介绍所谓持久化,就是备份。Redis跟我们提供了两种备份的方式,一个是RDB(Redis Datebase),另一种是AOF(Append only file).本篇使用的是windows下的redis(作者不太会Linux,抱歉)二。RDB (Redis Database)1.官网介绍:将指定时间内的数据集快照写入磁盘内,也就是行...

2019-05-22 16:14:22 911

原创 Redis五种数据类型及命令(五)

Redis五种数据类型及命令(五)Zset:有分数的set,换句话说就是有顺序的set,他可以根据分数排序。1.zadd/zrange:添加一个有序集合,遍历一个有序集合。withscores带分数2.ZRANGEBYSCORE key start end :遍历一个有序集合,可以指定范围3.可以用小括号指定边界:第一个是大于等于60小于90.(不带括号即大于等于或小于等于),第二个...

2019-05-22 10:59:55 147

原创 Redis五种数据类型及命令(四)

Redis五种数据类型及命令(四)**Hash类型非常重要!Hash类型非常重要!Hash类型非常重要!**重要的事情说3遍!(红色字体的命令需要多加练习,很重要)Hash类型kv模式不变,但value是一个键值对!类似于entry数组1.hset/hgethset key field value :设置一个hash类型的元素 key是该hash的键,field 和value是一个键值对...

2019-05-21 22:49:14 127

原创 Redis五种数据类型及命令(三)

Redis五种数据类型及命令(三)Redis的集合(Set):单值多Value,无序不重复1.sadd key members: 向集合添加一个或多个元素 ,如果元素重复,则redis会帮我们去重。2.smembers key:获取某一set的所有元素3.sismembers key value :判断该set是否存在value4.scard:获取集合里有多少元素5.srem ...

2019-05-21 21:39:43 208

原创 Redis五种数据类型及命令(二)

Redis五种数据类型及命令(二)list:单值多Value1.LPUSH key [value…] :left push 左添加。由于Redis list是个双向链表,所以他可以左添加也可以右添加 RPUSH。2.LRANGE key start end: 从左遍历该list ,可以指定范围。(由于没有RRANGE 换句话说:LPUSH的list 正着进反着出,RPUSH的list...

2019-05-21 20:49:06 155

原创 Redis五种数据类型及命令(一)

Redis 五种数据类型详解及命令Redis五种数据类型分别为:String:最基本的字符串类型。list:列表(如果对比java来看,这个list不是ArrayList,而是LinkedList链表)Hash:哈希,类似java中的Hashmap。 set:集合,与java中的Set集合一样。无序不可重复。Zset:有序集合。带分数的集合,后续会有详解。一.String&nbs...

2019-05-21 19:58:34 348

原创 RequestMappingHandlerMapping 使用

RequestMappingHandlerMapping 简单使用RequestMappingHandlerMapping 是一个非常便捷的类,它在springMVc启动时加载,有一个最重要方法就是Map<RequestMappingInfo, HandlerMethod> handlerMethods =requestMappingHandlerMapping.getHandl...

2019-05-07 14:00:50 9546

转载 Commons IO常用方法

  首先,我们要下载FileUtils相关的Apache-commons-io jar包以及api文档。FileUtils类库的下载页面在:  http://commons.apache.org/proper/commons-io/download_io.cgi  image.png  FieUtils类中常用方法的介绍  打开FileUtils的api文档,我们抽出一些工作中比...

2019-04-18 15:34:32 207

原创 Shiro用户验证模块核心API分析(一)

——.用户验证核心模块简介Subject :项目主体(关联SecurityManager)SecurityManager :Shiro的的安全管理器(关联Realm)Realm: Shiro访问数据库的桥梁一。SpingBoot整合Shiro:首先在Pom文件里导入Shiro的包。<dependency> <groupId>org.apache.shir...

2019-04-15 16:27:15 626

原创 使用Node.js访问myql数据库单表查询

var mysql = require('mysql');//使用之前先要npm安装mysql驱动var connection = mysql.createConnection({ host : 'localhost', user : 'root', password : '123456', port: '3306', databas...

2019-04-11 15:56:42 247

原创 SpringBoot定时任务:对连续二十天未登陆的用户进行注销

Springboot 整合定时任务当我们做项目时总会有一些需求类似于,每隔一段时间让后台做一些什么事情,这就用到了SpringBoot为我们提供的定时任务 Schedule.首先在我们的启动类上面添加@EnableScheduling注解开启定时任务的自动配置.package com.issoft.wings_back;import org.mybatis.spring.annotati...

2019-03-28 10:39:17 522 1

转载 SpringBoot整合Jpa

概述Hibernate与JPA本篇博客中的web项目选用Hibernate作为持久层框架。在Spring Boot中,我们需要了解另一个概念:JPA上一句话可能有些歧义,并不是说JPA就是Spring Boot中的概念。而是Java Persistence Api,中文译名为:Java持久层...

2019-03-27 22:01:36 104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除