自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 【redis深层次探索】Redis的主从复制(及读写分离)

一、说明在Redis中, 用户可以通过执行SLAVEOF命令或者设置slaveof选项, 让一个服务器去复制( replicate) 另一个服务器, 我们称呼被复制的服务器为主服务器( master) , 而对主服务器进行复制的服务器则被称为从服务器( slave)。数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点;且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。二、怎样实现主从复制2.1、命令追加当AOF持久化功能处于打开状态时

2020-11-05 16:01:28 219

原创 druid数据源使用Mybatis-Plus 3.4.0版本集成p6spy踩坑

一、异常日志org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection: dbType not support : null, url jdbc:p6spy:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=

2020-10-20 10:57:48 1536

原创 【redis深层次探索】AOF持久化

一、说明AOF持久化功能的实现可以分为命令追加( append) 、 文件写入、 文件同步( sync) 三个步骤。1.1、命令追加当AOF持久化功能处于打开状态时, 服务器在执行完一个写命令之后, 会以协议格式将被执行的写命令追加到服务器状态的aof_buf缓冲区的末尾。1.2、AOF文件的写入和同步Redis的服务器进程就是一个事件循环( loop) , 这个循环中的文件事件负责接收客户端的命令请求, 以及向客户端发送命令回复, 而时间事件则负责执行像serverCron函数这样需要定时运行的

2020-09-21 18:37:52 197

原创 【redis深层次探索】RDB持久化

一、说明因为Redis是内存数据库, 它将自己的数据库状态储存在内存里面, 所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面, 那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。为了解决这个问题, Redis提供了RDB持久化功能, 这个功能可以将Redis在内存中的数据库状态保存到磁盘里面, 避免数据意外丢失。RDB持久化既可以手动执行, 也可以根据服务器配置选项定期执行, 该功能可以将某个时间点上的数据库状态保存到一个RDB文件中。RDB持久化功能所生成的RDB文件是一个经过压缩

2020-09-14 18:15:50 151

原创 【redis深层次探索】数据结构和对象【七】-- 对象

一、说明redis基于简单动态字符串( SDS) 、 双端链表、 字典、 压缩列表、 整数集合等等,这些数据结构创建了一个对象系统, 这个系统包含字符串对象、 列表对象、 哈希对象、 集合对象和有序集合对象这五种类型的对象, 每种对象都用到了至少一种我们前面所介绍的数据结构。二、redis中的对象类型和编码Redis使用对象来表示数据库中的键和值, 每次当我们在Redis的数据库中新创建一个键值对时, 我们至少会创建两个对象, 一个对象用作键值对的键( 键对象), 另一个对象用作键值对的值( 值对象)

2020-09-08 14:21:40 125

原创 【redis深层次探索】数据结构和对象【六】-- 压缩列表( ziplist)

一、说明当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值, 要么就是长度比较短的字符串, 那么Redis就会使用压缩列表来做列表键的底层实现。二、压缩列表在redis中的应用压缩列表( ziplist) 是列表键和哈希键的底层实现之一。三、压缩列表的实现压缩列表结构:压缩列表各部分详细说明三、总结压缩列表是一种为节约内存而开发的顺序型数据结构。压缩列表被用作列表键和哈希键的底层实现之一。压缩列表可以包含多个节点, 每个节点可以保存一个字节数组或者整数值。添加新节点

2020-08-26 17:17:16 129

原创 【redis深层次探索】数据结构和对象【五】-- 整数集合(intset)

一、说明整数集合( intset) 是集合键的底层实现之一, 当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。二、跳跃表在redis中的应用当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。三、跳跃表的实现整数集合( intset) 是集合键的底层实现之一, 当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。ty

2020-08-26 14:21:00 136

原创 【redis深层次探索】数据结构和对象【四】--跳跃表(skiplist)

一、说明跳跃表( skiplist) 是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的。跳跃表支持平均O( logN) 、 最坏O( N) 复杂度的节点查找, 还可以通过顺序性操作来批量处理节点。使用情况Redis使用跳跃表作为有序集合键的底层实现之一, 如果一个有序集合包含的元素数量比较多, 又或者有序集合中元素的成员( member) 是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。二、跳跃表在redis中的应用和链表

2020-08-24 14:18:58 109

原创 【redis深层次探索】数据结构和对象【三】--字典

一、说明字典, 又称为符号表( symbol table) 、 关联数组( associative array)或映射( map) , 是一种用于保存键值对( key-value pair) 的抽象数据结构。二、字典在redis中的应用链表被广泛用于实现Redis的各种功能, 比如列表键、 发布与订阅、 慢查询、监视器等三、链表的定义每个链表节点使用一个adlist.h/listNode结构来表示:typedef struct listNode {//前置节点struct listNo

2020-08-18 17:17:35 123

原创 【redis深层次探索】数据结构和对象【二】--链表

一、说明链表提供了高效的节点重排能力, 以及顺序性的节点访问方式, 并且可以通过增删节点来灵活地调整链表的长度。作为一种常用数据结构, 链表内置在很多高级的编程语言里面, 因为Redis使用的C语言并没有内置这种数据结构, 所以Redis构建了自己的链表实现。链表在Redis中的应用非常广泛, 比如列表键的底层实现之一就是链表。 当一个列表键包含了数量比较多的元素, 又或者列表中包含的元素都是比较长的字符串时, Redis就会使用链表作为列表键的底层实现。二、链表在redis中的应用链表被广泛用

2020-08-13 14:19:48 116

原创 【redis深层次探索】数据结构和对象【一】--简单动态字符串(SDS)

一、SDS是什么?        Redis没有直接使用C语言传统的字符串表示( 以空字符结尾的字符数组, 以下简称C字符串) , 而是自己构建了一种名为简单动态字符串( simple dynamicstring, SDS) 的抽象类型, 并将SDS用作Redis的默认字符串表示。C字符串会用在无需对字符串进行更改的地方(日志打印)二、SDS用在什么地方?存储redis数据库中的字符串值用做AOF缓冲区客户端状态中

2020-08-07 17:25:52 133

原创 Git常用命令归纳总结

一、git配置1.1 查看git配置信息#查看所有配置信息git config --list#查看某一项配置信息git config <key>1.2 修改配置信息git config --global user.name "Your Name"git config --global user.email "email@example.com"1.3 获取帮助git helpgit --helpgit help config二、git基础2.1 获取git仓库(

2020-06-05 16:28:37 384

原创 Spring Boot项目使用Graphics2D 生成二维码海报图片流返回给前端

这里写自定义目录标题前言生成图片最后效果(省略公司logo)代码开发中遇到的坑1.通过Postman能够获取出海报图片,但是前端获取是获取不到前言需求是生成二维码分享海报,作为学生加入班级的一个方式,本来想着用前端canvas来实现,生成想要的图片,可视化比较好。后来改为后端生成固定格式的海报图片,只是班级信息发生改变。就想着由前端传入响应的参数,后端根据参数使用Graphics2D 画一张海...

2020-04-27 17:54:51 3660 9

原创 阿里云服务器安装配置jenkins(centos)

阿里云服务器安装配置jenkins(centos)1. 安装命令(添加Jenkins仓库到yum源中,再安装)sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat/jenkins.i...

2019-10-30 16:17:09 1705

原创 阿里云docker搭建MySQL主从数据库

阿里云docker搭建MySQL主从数据库1.拉取MySQL镜像,博主搭建版本为MySQL5.7docker pull mysql:5.7效果:2.设置MySQL配置目录#新建数据目录mkdir -pv /mysql/data#新建主库配置目录mkdir -pv /mysql/001#新疆从库配置目录mkdir -pv /mysql/0023.新建配置文件#设置主库配...

2019-09-25 09:34:57 387

转载 Mysql中事务ACID实现原理

引言    照例,我们先来一个场景~面试官:“知道事务的四大特性么?”你:“懂,ACID嘛,原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)!”面试官:"你们是用mysql数据库吧,能简单说说innodb中怎么实现这四大特性的么?“你:“我只知道隔离性是怎么做的balaba...

2019-08-21 09:47:03 1829 1

原创 【JVM系列】(一)Java类的加载机制

1. 类加载的时机    类从被加载到虚拟机内存开始,到卸载出内存为止,他的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Unloading)七个阶段。其中验证、准备、解析三个阶段统称为连接(Link...

2019-08-20 18:33:57 140

原创 Minor GC和Full GC的区别?

新生代GC(Minor GC):指的是发生在新生代的垃圾回收动作,因为大多数对象都具备朝生夕灭的特性,所以minor GC非常频繁,一般回收速度也比较快。老年代GC(Full GC):指的是发生在老年代的GC,出现了major GC,经常会伴随至少一次的Minor GC(但非绝对的,在Parallel Scavenge收集器的收集策略里就有直接进行Major Gc的策略选择过程)。Major ...

2019-08-20 16:34:47 817

原创 怎样避免死锁?

1.避免一个线程同时获取多个锁。2.避免一个线程在锁内同时占用多个资源,尽量保证每个锁只占用一个资源。3.尝试使用定时锁,使用lock.tryLock(timeout)来代替内部锁机制。4.对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况。...

2019-08-16 19:06:40 152

原创 JVM之Java内存区域

JVM之Java内存区域    Java虚拟机在执行Java程序时会把它所管理的内存划分为若干个不同的数据区域;每个区域都会有各自不同的用途,创建销毁的时间也不尽相同,有的区域随着虚拟机进程启动而存在,有的则依赖用户进线程的启动结束而建立销毁;虚拟机管理的内存包含下列几个运行时数据区域;如下图所示:程序计数器(线程私有)  &nb...

2019-08-16 10:06:18 113

原创 Mysql横纵表转换实例

Mysql横纵表转换实例    在实际业务中,有时需要将横表数据转换成纵表数据操作或者将纵表数据转换为横表数据,此文是SQL操作实例,希望能够帮助到有需要的同学;一、横表数据转纵表1.建表DDLCREATE TABLE `subject` ( `id` INT ( 11 ) NOT NULL, `name` VARCHAR ( 50 ) DEFA...

2019-08-12 18:21:30 1010

原创 为什么建议MySQL列属性尽量用 NOT NULL ?

1.为什么建议MySQL列属性尽量用 NOT NULL ?官方文档:NULL columns require additional space in the row to record whether their values are NULL. Each NULL column takes one bit extra, rounded up to the nearest byte.译:NU...

2019-08-08 20:00:15 525

原创 Maven pom.xml文件标签详解

pom文件标签详解<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/ma...

2019-08-06 19:36:15 753

原创 ConcurrentHashMap源码解析(JDK1.8)

ConcurrentHashMap源码解析(JDK1.8)1、ConcurrentHashMap跟HashMap,HashTable的对比2、ConcurrentHashMap原理概览3、ConcurrentHashMap几个重要概念4、ConcurrentHashMap几个重要方法5、ConcurrentHashMap的初始化6、ConcurrentHashMap的put操作详解7...

2019-08-06 19:35:53 378

原创 Spring Boot实现跨域请求

Spring Boot实现跨域请求一、 简介二、实现跨域的两种方式JSONP 跨域CORS 跨域三、Spring Boot配置跨域3.1、在方法上添加 @CrossOrigin 注解 ,仅对该接口有效:3.2、在类上添加@CrossOrigin 注解,仅对该类下的接口有效:3.3、全局配置,新增配置类WebMvcConfig.java,对该Application有效:4、原理简单剖析参考连接一、...

2019-08-02 17:32:33 7910

原创 阿里云搭建ELK日志平台

阿里云搭建ELK日志平台一、说明二、开始搭建2.1 环境与版本2.2 安装filebeat2.3 安装kibana一、说明    EKL概念在这里就不细说了,直接说安装搭建步骤;本文为作者实际在阿里云服务器上搭建的过程记录。二、开始搭建2.1 环境与版本centos7.5filebeat 7.2elasticsearch 7.22.2 安装...

2019-07-20 17:11:10 2148

原创 Spring Boot集成Sharding-jdbc + Mybatis-Plus实现分库分表

Spring Boot集成Sharding-jdbc实现分库分表和读写分离一、 Sharding-jdbc简介二、项目创建一、 Sharding-jdbc简介    Sharding-jdbc是当当网开源的中间件;定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为...

2019-07-15 13:49:42 10397 8

原创 Spring Boot CLI 2.0.1.RELEASE(Command Line Interface)的安装和配置

The Spring Boot CLI (Command Line Interface) is a command line tool that you can use to quickly prototype with Spring. It lets you run Groovy scripts, which means that you have a familiar Java-like sy...

2018-04-23 22:08:01 420

Sublime软件+注册码

Sublime Text 是一个代码编辑器(Sublime Text 3是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。 Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

2017-10-12

空空如也

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

TA关注的人

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