自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Group by 后交rollup,cube,grouping_sets的用法区别

总结:可以按照以上所示的对三种操作的改写形式对语句展开优化,尽可能的减少因内存和GC引发的性能问题。但是,一般情况下,如果GC问题不是特别严重,就不用改写,否则会导致性能更差。可以看出前三个的Union的结果等同于一个 Rollup ,所以还可以改写为。3.Grouping Sets的改写。

2023-10-27 14:56:49 131

原创 group by的理解

我们可以将Group By操作想象成如下的一个过程,首先系统根据SELECT 语句得到一个结果集,如最开始的那个水果、出产国家、单价的一个详细表。然后根据分组字段,将具有相同分组字段的记录归并成了一条记录。这个时候剩下的那些不存在于Group By语句后面作为分组依据的字段就有可能出现多个值,但是目前一种分组情况只有一条记录,一个数据格是无法放入多个数值的,所以这里就需要通过一定的处理将这些多值的列转化成单值,然后将其放在对应的数据格中,那么完成这个步骤的就是聚合函数。这就是为什么这些函数叫聚合函数(agg

2021-06-21 13:59:49 200

原创 RabbitMQ消息中间件

1.消息中间件的概述1.1什么是中间消息件MQ全称massage queue,消息队列是应用程序和应用程序之间的通信方法1.2为什么使用MQ在 项目中,将一些无需及时返回且耗时的操作提取出来,进行一步处理,这种异步操作大大节省了服务器的请求响应时间,提高了系统的吞吐量。1.3开发中消息队列的应用场景1.任务异步处理将不需要同步处理且耗时长的操作有消息队列通知消息接收方进行异步处理提高程序的响应时间2.应用程序的解耦合MQ相当于一个中介,生产方通过MQ和消费方交互,它将应用程序进行解耦合3

2020-09-24 10:53:28 191

原创 Mybatis-Plus

介绍mybatis plus1.概述mybatis-plus简称(MP)是mybatis增强工具,在mybatis基础上只做增强不做修改,为简化开发,提高效率而生。2.特点无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用

2020-09-02 09:54:30 395

原创 分布式事务

1.分布式事务的概念一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题2.如何解决分布式事务! seata (阿里巴巴提供的分布式解决方案)Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务3.Seata的流程4.下载seata. 0.9https://github.com/seata/seata/releases5.安装5.1下载并解压:5.2要修改的地方:file.confRegistry.conf

2020-09-01 11:07:21 147

原创 微服务架构—服务治理

1.什么是服务治理服务治理是微服务框架中最核心最基本的模块,用于实现各个微服务之间的自动注册和发现。**自动注册:**在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息 ,并在注册中心形成一张注册清单,服务注册中心需要以心跳的方式去检测清单中的服务是否可用,如果不可用,需要在清单中剔除。服务发现:...

2020-08-26 10:57:03 2245

原创 SpringClound 微服务环境搭建

1.创建父工程创建一个maven工程,然后在pom.xml文件中添加下面内容<!--引入父工程--><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.4.RELEASE</version></

2020-08-25 10:17:29 226

原创 Redis常见问题

1Redis支持的数据类型?String(字符串类型)String数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。 常规key-value缓存应用; 常规计数:微博数,粉丝数等。常用命令: set,get,incr,decr,mget 等:set key value 设置值、 get key 获取值、 incr key 加一、 decr key 减一​hash(哈希)Redis hash是一个string类型的field和value的映射表,hash特别

2020-08-24 12:19:17 126

原创 Redis的集群

1.主从复制,配从不配主。2.详细操作①拷贝多个redis.conf文件②开启daemonize yes 后台运行。③Pid文件名字 redis启动后进程号所放的位置④port指定端口 端口号⑤Log文件名字 redis日志产生的位置⑥Dump.rdb名字 RDB持久化的内容所保存的位置启动三个redis查看三台redis的主从关系配置6380 和6381 的主节点为6379主节点主要负责写的功能,从节点只能读不能写。如果主节点挂了,从节点等着主节点回来

2020-08-24 11:33:53 131

原创 Redis的持久化

1什么是持久化?就是把内存中的数据库,存储到磁盘上的过程就是持久化2.redis的持久化?Redis的持久化就是把内存的数据保存到磁盘上,当redis重启时会把磁盘中的数据加载到内存中。3.redis持久化的方式?RDB: 把某段时间内的数据进行保存,生成一个快照。AOF: 把每次的修改指令 记录到一个日志文件中。RDB:在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里RDB原理:Redis会单独创建(fork)一个

2020-08-24 11:16:22 133

原创 Springboot整合redis

1.创建项目2.修改application.yml文件spring: redis: host: 192.168.175.100 port: 6379 jedis: pool: max-active: 20 max-idle: 10 max-wait: 100003.创建实体package com.myl.entity;import lombok.AllArgsConstructor;impor

2020-08-24 10:58:43 223

原创 spring连接redis

1.加入依赖jar包<!-- jar包版本声明 --><properties> <spring.version>4.3.24.RELEASE</spring.version> <jedis.version>3.1.0</jedis.version></properties><!-- 声明需要的依赖的具体的资源 --><dependencies> <!-- 导入s

2020-08-24 10:43:30 880

原创 Java操作redis

1.引入相关jar包<dependencies> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.1.0</version> </dependency></dependencies>2.ja

2020-08-24 10:15:43 272

原创 Nginx负载均衡和动静分离

负载均衡:1准备项目三个项目端口号不一致,分别为8079,8080,80812.把上面三个项目上传到linux指定目录3.启动上面三个项目nohup java -jar demo8079.jar > log8079.file 2>&1 &nohup java -jar demo8080.jar > log8080.file 2>&1 &nohup java -jar demo8081.jar > log8081.file 2&gt

2020-08-24 10:00:04 173

原创 Nginx反向代理的设置

1.把springboot工程的jar文件放入到 / 根目录2.使用命令 Java -jar 工程.jar ,启动springboot工程3.修改nginx的配置文件

2020-08-22 14:13:14 101

原创 Nginx入门

1.nginx概述:nginx是一款轻量级的wep服务器/反向代理服务器及电子邮件服务器,在 BSD_like协议下发行。其特点是占用内存小,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好中国大陆使用nginx网站用户有:百度,京东,新浪,网易,腾讯,淘宝等2.nginx的作用1.反向代理:代理的是服务器端2.负载均衡随着服务器的访问量不断增加,我们会搭建多台服务器,可以使用nginx 负载均衡到每一个服务器。3.动静分离把静态资源交于web服务器来处理。4.Ngin

2020-08-22 14:00:14 149

原创 Redis常见命令

1 Redis支持的数据类型string ,set ,list ,hash ,sortset2 操作String类型的命令set key value :放置数据库get key:获取数据mset key value:放置多个数据mget key1 , key2…:获取多个键的值incr:递增,原子性操作decr:递减setnx:如果设置的key不存在,则把该key设置上去,如果存在则不设置3. hash类型的操作命令存放的是string类型的field -value

2020-08-21 21:10:26 107

原创 Redis安装教程

1.Redis简介redis是nosql中使用最多的非关系型数据类型,使用c语言编写,底层储存以key-value键值对储存2.Redis特点1.读写速度快,读:110000/s , 写:81000/s2.以key-value键值对存储3.存储的数据类型丰富,存储string(队列),set(集合),hash(哈希),zset(有序集合)4.易于搭建集群5.可以在内存中运行,并且可以储存到磁盘上3.Redis的安装1.下载redis2.安装C语言环境yum -y install g

2020-08-21 20:45:38 116

原创 NOSQL了解

1.nosql介绍:nosql是非关系型数据库的概括,nosql翻译(no only sql 不仅仅是sql),适合大数据储存。2.nosql和rdbms(关系型数据库管理)的区别rdbms:1.结构化数据库2.结构化查询语句,定义语句3.数据库和关系储存在表中4.支持事务管理(ACID)nosql:1.没有结构化查询语句2.存储数据以key-value形式,面向列存储(HBASE),面向文档存储(Mogondb)3.极易扩展3.NOSQL产品redismogondbmemca

2020-08-21 20:30:07 296 1

原创 springboot-mybatis-vue-elementui 增删改查入门案例

1 创建springboot工程引入依赖: springboot,mybatis,mysql-jdbc,连接池 druid,test <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.REL

2020-08-15 11:31:18 810 1

原创 mybatis入门案例

1.概述MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。2.获取mybatismaven仓库3.入门案例思路:搭建环境—>导入mybatis—>编写代码–>测试1.创

2020-08-13 13:32:20 131

原创 springboot-mybatis-oracle整合

1.引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> </parent> <dependencies>

2020-08-10 13:15:52 356

原创 基于element增删改查入门案例

1.element 组件安装引入式<!-- 引入样式 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme- chalk/index.css"> <!-- 引入组件库 --> <script src="https://unpkg.com/element-ui/lib/index.js"></script>2.案例1.查询所有学生界面&lt

2020-08-08 17:26:17 340

原创 Vue入门案例

1.Vue概述Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。尤雨溪是Vue.js框架的作者,HTML5版Clear的打造人。他认为,未来App的趋势是轻量化和细化,能解决问题的应用就是好应用。而在移动互联网时代大的背景下,个人开发

2020-08-03 09:11:57 416

原创 Shiro-SpringBoot集成入门案例

项目结构1.新建maven工程,并导入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> <relativePath/&gt

2020-08-03 08:38:16 266

原创 shiro入门案例

shiro笔记shiro简介shiro是一个功能强大、易于使用的Java安全框架,可以执行身份验证,授权、加密和会话管理。通过Shiro易于理解的API,您可以做到这一点快速、轻松地保护任何应用程序——从最小的移动应用程序到最大的we和企业应用程序。shiro架构Subject:主体,代表当前用户,与当前应用交互的任何东西都是subject,如网络爬虫,机器人等;即是一个抽象概念;所有的Subject都绑定到SecurityManager,与Subjectd的所有交互都委托给SecurityMan

2020-08-01 15:34:51 295

空空如也

空空如也

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

TA关注的人

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