自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (4)
  • 收藏
  • 关注

原创 ClickHouse引擎之ReplacingMergeTree

使用ORDER BY排序键,作为判断数据是否重复的唯一键只有在合并分区时,才会触发数据的去重逻辑删除重复数据,是以数据分区为单位。同一个数据分区的重复数据才会被删除,不同数据分区的重复数据仍会保留在进行数据去重时,由于已经基于ORDER BY排序,所以可以找到相邻的重复数据数据去重策略为:若指定了ver参数,则会保留重复数据中,ver字段最大的那一行若未指定ver参数,则会保留重复数据中最末的那一行数据。

2023-04-14 14:08:18 2046 1

原创 Clickhouse 引擎之MergeTree详解

MergeTree的主键使用PRIMARY KEY定义,待主键定义之后,MergeTree会依据index_granularity间隔(默认8192行),为数据表生成主键索引并保存至primary.idx文件内,索引数据按照PRIMARY KEY排序。相比使用PRIMARY KEY定义,更为常见的简化形式是通过ORDER BY指代主键。在此种情形下,PRIMARY KEY与ORDER BY定义相同,所以索引(primary.idx)和数据(.bin)会按照完全相同的规则排序。

2023-04-13 10:51:30 1275

原创 go-elasticsearch 官方包操作合集

【代码】go-elasticsearch 官方包操作合集。

2023-02-24 10:33:32 1961 2

原创 elasticsearch 查看集群运行状态api (全部Cat命令合集以及返回参数解释)

elasticsearch 查看集群运行状态api (全部Cat命令合集以及返回参数解释)

2023-02-08 14:53:19 3767

原创 Liunx 搭建 Elk 集群配置 之 Logstash 搭建

我的版本是 logstash-7.11.0-linux-x86_64.tar.gz。在bin 目录下(当然也可以在别的目录 我是在bin目录下)输入aaa 发现安装成功。

2023-02-06 16:59:26 1119

原创 Liunx 搭建 Elk 集群配置 之 kibana 搭建

选择自己对应的版本即可 我用的是 kibana-7.4.0-linux-x86_64 跟我的elasticsearch 版本一致的。这里ip 是自己主机的。我上传到了opt 下。

2023-02-06 13:48:47 793

原创 Go操作elasticsearch合集

【代码】Go操作elasticsearch 基础操作。

2023-02-03 11:33:47 1304

原创 记录安装beego 脚手架报的错

【代码】记录安装beego 脚手架报的错。

2023-01-13 16:58:19 1016

原创 Go语言基础 面向“对象”

在某些情况下,我们要需要声明(定义)方法。比如Person结构体:除了有一些字段外(年龄,姓名…)Person结构体还有一些行为比如:可以说话、跑步.,通过学习,还可以做算术题。这时就要用方法才能完成。Golang中的方法是作用在指定的数据类型上的(即:和指定的数据类型绑定),因此自定义类型,都可以有方法,T而不仅仅是struct。

2022-10-17 09:54:24 942

原创 Go基础 数组 切片 Map

数组可以存放多个同一类型数据 数组也是一种数据类型 在Go 中数组是指类型1)切片的英文是slice2)切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的l机制。3)切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度len(slice)都一样。4)切片的长度是可以变化的,因此切片是一个可以动态变化数组。5)切片定义的基本语法:var变量名[类型比如: var a [] int。

2022-10-13 10:40:03 1774

原创 Go语言基础 函数

为完成某一功能的程序指令(语句)的集合 称为函数在Go 中 函数分为:自定义函数 系统函数每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用。Go支持匿名函数,如果我们某个函数只是希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用。基本介绍:闭包就是一个函数和与其相关的引用环境组合的一个整体(实体)值类型参数默认就是值传递 而引用类型参数默认就是引用传递。

2022-10-12 11:45:28 1145

原创 Go语言基础三 流程控制

在编程中 需要接收用户输入的数据 就可以使用输入语句来获取1,switch 语句用于基于不同条件执行不同的动作 每一个case 分支都是唯一的 从上到下逐一测试 直到匹配为止2,匹配项后面也不需要在加breaki < 10;i ++ {fmt . Println("我是美女") }1)将一个循环放在另一个循环体内,就形成了嵌套循环。在外边的for称为外层循环在里面的for循环称为内层循环。【建议一般使用两层,最多不要超过3层】2)实质上,嵌套循环就是把内层循环当成外层循环的循环体。

2022-10-09 14:45:46 992

原创 Go语言基础 指针 运算符

基本数据类型,变量存的就是值 也叫值类型获取变量的地址 用& 比如 var num int 获取num的地址:&num指针的类型 指针变量存的是一个地址 这个地址指向的空间存的才是值 比如 var ptr*int=&num获取指针类型锁指向的值 使用:* 比如 var ptr*int 使用 *ptr 获取ptr 指向的值举例运算符是一种特殊的符号 用来标识数据的运算,赋值,和比较。

2022-09-23 16:22:34 1236

原创 Go语言基础 基本数据类型使用

第一种:指定变量类型,声明后若不赋值 使用默认值// 赋值的情况 定义一个 int 类型的变量 赋值为10 var i int i = 10 fmt . Println("i=" , i) } ## 结果// 赋值的情况 定义一个 int 类型的变量 赋值为10 var i int fmt . Println("i=" , i) } PS D : \golang\go_helloword\src\go_code\project01\main > go run test . go i = 0。

2022-09-16 17:41:36 1368

原创 Java基础 (算术,赋值,逻辑,位,三元 运算符)

结果这里注意的是 ++不会影响数据类型结果总结结论

2022-06-30 16:58:51 811

原创 elasticsearch 聚合操作分组查询 并列分组在通过其他字段求sum 排序 并列分组效果类似于 Mysql中的(Select A,B from 表名 group by A,B)

需求有三个字段 需要把A字段和B字段结合起来 共同分组用Mysql 写的话 就相当一是Select A,B from 表名 group by A,B但是在elasticsearch 的查询中分组都是 :Aggregation(中文意思:聚合)关键字进行聚合分组,然后是最关键的,多个group by不能使用并列Aggregation,必须使用嵌套聚合,采用subAggregation进行嵌套!!TermsAggregationBuilder agg_top_elapsed_time_by_appl

2022-04-24 17:24:03 4447 1

原创 ES常用命令总结

/** * 查看索引中每个分片存储的文档大小; */curl "localhost:9200/_cat/shards/<index_name>?pretty"索引名称 | 索引序号 | 是否分配 | 不知道 | 分片存储文档大小 | 地址 | 不知道 srx_traffic_20201231 2 p STARTED 519790 158.2mb 127.0.0.1 xURjCvwsrx_traffic_2020123

2022-04-20 13:55:03 1969

原创 Java实现用户自定义定时发送报表(报表添加到PDF)发送 到指定用户

项目需求用户定时需要收到指定的PDF 到邮箱 其中 PDF里必须是用户上次在前台选择过的图表类型需求分析首先需要去拿到用户自定义想要最近几天的数据(查询ES 这里需要去自己请求自己的接口拿到指定的数据)去把数据渲染到echarts 只能纯后端生成 (echarts 需要跟前端选择的一样 所以这里需要跟前端调取一样的库)把生成的echarts 的图片 通过流的形式添加到 PDF 文件中在PDF 中加上指定的 文字以及 页脚开始发送 email修改JAVA 定时器 实现从数据库查的 cron

2022-03-04 17:57:28 1496

原创 23种设计模式 Java 单例模式

设计模式分类创建型模式用于描述“怎样创建对象”,它的主要特点是将对象的创建与使用分离 GoF (四人组) 书中提供了单例,原型,工厂方法,抽象工厂,建造者等 5种创建型模式单例设计模式单例模式概念单例模式 是JAVA 中最简单的设计模式之一 这种类型的设计模式属于创建型模式 他提供了一种创建对的最佳方式这种模式设计一个单一的类 该类负责创建自己的对象 用时确保只有单个对象被创建 这个类提供了一种访问其唯一的对象的方式。单例模式的实现饿汉式饿汉式:类加载就是导致该单实例对象被创建类加载的时

2022-02-16 16:10:31 1089

原创 Java 基础之反射

反射快速入门方向探知,在程序运行过程中动态的获取类的相关属性这种动态获取类的内容以及动态调用对象的方法和获取属性的机制,就叫做JAVA 的反射机制创建一个普通的类public class Car { public String color="red"; public Integer price=10000; public void run () { System.out.println("我是汽车 我会跑!"); }}简单的应用/** * 反

2022-01-25 15:45:07 962

原创 Spring security 整合JWT登录流程

Spring security 的工作流程说明客户端发起一个请求,进入Security 过滤器链当到LogoutFilter 的时候判断是否是登出的路径,如果是登出路径则到logoutHandler ,如果登出成功则到logoutSuccessHandler 登出成功处理,如果不是登出路径则直接进入下一个过滤器当到UsernamePasswordSuthenticationFilter 的时候判断是否为登录路径,如果是,则进入该过滤器登录操作,如果失败则到SuthenticationFailur

2022-01-13 17:01:49 4839

原创 Springboot 集成 elasticsearch 之索引,映射,文档查询 ,过滤查询,聚合查询

集成Springboot导入pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>ES 的核心概念索引一个索引就是一个拥

2022-01-07 17:15:49 3207

原创 Mysql索引学习笔记

Mysql 索引Mysql 底层为什么要用B+Tree?主键索引B-tree 大概特点添加8条数据他这里都是排好顺序的 左边的都小于右边的 一个节点里面可以有多个元素B+Tree 大概特点同样的8条数据 B+Tree 要比B-Tree 多一点 他的非叶子节点都冗余了一份在叶子节点上 冗余后的数据都在我们的叶子节点上面并且有指针。Mysql 的B+Tree下图是mysql 官网对Innodb 使用 T+tree 的解释InnoDB页面结构官网解释当我们除1024 的时候正

2021-12-15 17:23:10 958

原创 Java实现定时发送邮件的任务

定时发送邮件定时任务使用Spring Task导入依赖创建任务类Cron 表达式详解邮件服务定时发送邮件功能定时任务使用Spring Task在 Springboot项目中可以通过注解的方式去实现定时任务导入依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-w

2021-12-09 17:25:45 4211 6

原创 Mysql存储过程以及实践应用

存储过程mysql5.0之后开始支持存储的过程。存储过程 是一种在数据库中存储复杂的程序,以便外部程序调用的一种数据库对象。存储过程是为了完成特定功能的SQL 语句集,经编译创建并保存在数据库中 用户可以通过指定的存储过程并设定参数(需要时)来调用执行。简单解释就是存储过程其实就是能完成一定操作的一组SQL语句。优点:存储过程可封装,并隐藏复杂的商业逻辑存储过程可以回传值,并可以接受参数存储过程无法使用SELECT 指令来运行 因为它是子程序 与查看表 数据表或用户定义函数不同。存储过

2021-11-15 16:31:05 686

原创 JDK8 新特性Lambda & Stream

Lambda 表达式为什么会有Lambda ?假如说现在我们有如下的代码package com.demo.fjj;public class LambdaDemo { public static void main(String[] args) { // 开启一个新的线程 new Thread(new Runnable() { @Override public void run() {

2021-10-19 10:11:44 351

原创 续篇二---->基于Springboot搭建个人博客 (整合elasticsearch 和 rabbitmq )

搜索引擎开发配置Redis,ES,MQ配置Redis,ES,MQ修改配置文件 # 配置 redis redis: host: localhost port: 6379 #配置 es data: elasticsearch: cluster-name: elasticsearch cluster-nodes: localhost:9300 repositories: enabled: true # rabbitm

2021-09-15 14:00:37 443

原创 认识RabbitMq 第二篇 (交换机,死信队列,延迟队列)

交换机简单介绍上一篇博客都是创建了一个工作队列,假设的是工作队列背后,每个任务都恰好交付给一个消费者(工作线程)。在这一部分,我们将做一些完全不同的事情。我们将消息传递给多个消费者,这种模式就是 “发布、订阅”简单实验构建一个简单的日志系统,将两个程序组成:第一个程序将发出日志消费,第二个程序是消费者,其中我们会启动两个消费者,其中一个消费者接收到消息后把日志存储早磁盘。另外一个消费者接收到消息后把消息打印出来 ,事实上第一个程序发出的日志消息将广播给所有消费者。Exchanges 概念Rabb

2021-09-14 14:20:05 307 1

原创 认识RabbitMq 第一篇 (什么是MQ,基本概念,工作原理,持久化,以及发布确认)

消息队列MQ 的相关概念什么是MQ什么是 RabbitMqRabbitMq 的基本概念ExchangeMessage QueueBinding KeyRouting KeyRabbitMq 使用的场景服务解耦流量消峰异步调用Hello world添加依赖生产者代码消费者代码工作队列原理轮训分发消息封装工具类启动两个工作的线程MQ 的相关概念什么是MQMQ (message queue) 就是队列的意思。FIFO 先进先出,只不过队列中存放的内容是 message 而已 还是一种跨进程的通信机制 ,用于

2021-09-08 11:44:09 398

原创 elasticsearch导入后导致项目启动报错 Error creating bean with name ‘elasticsearchClient‘ defined in class path

今天在集成elasticsearch的时候导入jar包启动项目一顿报错找了半天才找到D:\ruanjian\Jdk\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always "-javaagent:D:\ruanjian\Idea\IntelliJ IDEA 2021.1.1\lib\idea_rt.jar=58329:D:\ruanjian\Idea\IntelliJ IDEA 2021.1.1\

2021-08-17 16:07:01 3461

原创 续篇一 ----->基于Springboot搭建个人博客 (学习笔记)

续写上篇没写完的内容对与首页还没有完成的部分内容填充修改layout 游客部分添加未读消息的功能收藏功能对与首页还没有完成的部分内容填充修改layout 游客部分由于当前的是没有判断是不是登录后的状态 我们可以获取当前的登录任务,当没有登陆的时候默认是游客 <script> // layui.cache.page = ''; layui.cache.user = { username: '游客' , ui

2021-08-10 12:13:52 665

原创 基于Springboot搭建个人博客 (学习笔记)

个人博客搭建技术选型主要框架安装 RabbitMq,Elasticsearch安装RabbitMq安装环境下载安装包安装配置 erlang安装配置 rabbitMQ验证安装Elasticsearch下载地址创建Springboot 项目pom.xml前端的框架用的是 layui 的 fly-3.0拆分首页 以及填充技术选型主要框架核心框架 Springboot安全框架 Apache Shiro持久层框架 Mybatis + mybatis-plus页面模板 Freemarker缓存框架 Red

2021-08-04 14:20:11 2265 4

转载 SpringBoot: 集成Shiro使用 Shiro 标签(ftl)

解决我写个人博客出现需要使用Shiro标签情况总结前言二级目录三级目录前言设页面当中有一个新增用户按钮,我们需要当拥有admin角色的用户登录认证完成之后显示,普通用户不显示,那么这时候我们就需要使用Shiro标签来做处理了.例如这个例子,我们就可以用一下代码来实现.如果含有admin就会显示,反之,则不会显示<shiro:hashRole name = "admin"> <button >新增用户</button></shiro:hashRole&

2021-08-02 11:57:27 349

原创 学习记录,利用Redis的(sorted set)做每周热评的功能

每周热议功能大概思路Redis 命令实践一下看看代码来进行实现前端展示出来总结大概思路思路分析做每周热议,应该用缓存来做,如果直接查库的话,会对数据库造成压力。用缓存做的话,用Redis 来做缓存的话比较合适一点。# 利用Redsi 添加 数据命令# day:1 指的是在1号的时候 post:1 第一篇文章添加了 10 条评论。#后面 6 post:2 指的是 在1号第二篇添加了6条评论zadd day:1 10 post:1 6 post:2zadd day:2 10 post:1 6

2021-07-28 16:01:40 669 1

原创 SpringBoot + Vue前后端项目分离后台管理系统 笔记 (以及错误总结)

学习记录 前后端分离项目学习视频的来源(链接)前端的学习笔记记录安装前端的Vue 环境 ,新建 Vue 项目安装node.js安装vue 的环境创建 vue 的环境安装 element-ui,axios、qs、mockjs页面路由登录和首页的创建登录开发登录的开发流程登录的页面验证码登录的请求小小的错误记录总结 引入 axios 的错误设置登录时候的全局 axios后台界面开发头部导航栏的设置侧边导航栏的设置侧边导航栏的路由用户登录信息展示,以及退出登录清除 浏览器缓存个人中心的界面动态菜单栏开发动态标

2021-07-21 15:59:49 905

原创 Java复习基础 多线程笔记

1,多线程概述多线程是实现并发机制的一种有效手段,进程和线程一样,都是实现并发的一个基本单位,线程是比进程更小的执行单位,线程是在进程的基础上进行的进一步划分,所谓多线程是指一个进程在执行过程中可以产生多个线程,这些线程可以同时存在,同时运行,一个进程可能包含了多个同时执行的线程。1.1 进程与线程1,进程:正在运行的应用程序:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,即每个进程都有着自己的堆,栈等且是互不共享的2,线程:进程中的一个执行路径(一段程序从执行到结束的整个过程)

2021-06-09 11:41:54 211 2

原创 Java复习 网络编程

什么是网络编程在网络通信协议下,实现网络互联的不同计算机上运行的程序可以进行资源交换,就是用户之间可以发送消息或文件网络编程三要素Ip 地址Ip 地址是网络中设备的唯一标识,分为Ipv4 和 Ipv6 两大类,我们使用Ipv4 进行网络通信,他采用点分十进制表示法,一般长这样192.168.99.1 ,127.0.0.1 可以代表本机地址,一般用于测试。|命令|说明 ||-ipconfig-|-查看Ip-|| ping IP | 检查网络是否连通 |端口网络的通信本质上是两个应用程

2021-06-04 10:23:50 154 1

原创 Java 基础复习 (Switch,While,DoWhile,For 循环,增强For 循环 。)

Switch 使用以及介绍switch 语句是一个控制表达式和多个case 标签组成支持的类型有 byte,short,char,int,enum(Java 5),String (Java 7)switch-case语句完全可以与if-else语句互转,但通常来说,switch-case语句执行效率要高。default在当前switch找不到匹配的case时执行。default并不是必须的。一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配,直到遇见break。1,语法格

2021-06-01 17:46:35 264

原创 复习 Java基础三 (运算符)

Java 语言支持以下运算符算术运算符+,-,*,/,%,++,–++,-- 的理解package com.jj;public class Main { public static void main(String[] args) { int a =1; // 自增,自减 一元运算符号 // ++ 执行完这行代码后,先给 b 赋值 ,再自增 int b =a++; // 执行完这行代码前,先自增,再给

2021-05-27 17:34:25 138

原创 复习 Java 基础二 (变量,常量,作用域)

变量Java 是一种强类型语言,每个变量都必须声明其类型Java 变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域type varName [=value] [{, varName[=value]}];// 数据类型 变量名 =值 ;可以使用逗号隔开来声明多个同类型变量注意事项:每个变量都有类型,类型可以是基本类型也可以是引用类型。变量名必须是合法的表示符变量声明是一条完整的语句,因此每一个声明都必须以分号结束变量的作用域类变量实例变量局部变量package co

2021-05-26 11:02:17 166

fly-3.0.rar

layui fly 的一个博客 模板

2021-07-22

com.jj.Springboot-vue.rar

SpringBoot + Vue前后端项目分离后台管理系统 后端笔记

2021-07-21

vueadmin-fjjdemo.rar

前端的代码

2021-07-21

resources.zip

es 实战的前端资料

2021-04-13

空空如也

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

TA关注的人

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