自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Redis-Series】七、基于Redis和Lua脚本实现分布式锁

前言:随着行业的发展和微服务分布式的兴起,由此会引来并发问题,如果单服务单机情况可以不去考虑分布式锁。但是,现在系统都基本是以集群形式进行部署,而且微服务架构的系统居多,所有本章节主要介绍一下基于Redis和Lua脚本实现分布式锁。Redis分布式锁原理:set [keyName] [vaule] NX PX 10_000keyName: 顾名思义,这个是key;vaule:为了释放锁,该值要确保每个进程的唯一性,因此使用 UUID;NX:如果key存在则SET失败,否则成功;.

2021-01-16 17:51:37 205

原创 【Redis-Series】六、Redis击穿、穿透、雪崩讲解以及解决方案

六、Redis击穿,穿透,雪崩讲解

2020-12-14 20:28:41 271

原创 【Redis-Series】五、Redis-Cluster集群模式讲解及SpringBoot配置(图文详解)

Redis-Cluster集群模式前言: 虽然说哨兵模式解决了为用户持续提供写服务的问题,但是哨兵模式毕竟只有一个主节点master,当请求数量比较大的时候,哨兵模式单节点master可能依然无法承载写的压力,那么Redis-Cluster集群模式就可以很好的解决这个问题。...

2020-12-13 22:09:55 546

原创 【Redis-Series】四、Redis哨兵模式讲解及SpringBoot配置(图文详解)

Redis哨兵模式和Cluster集群模式**前言:**Redis的主从模式虽然能够减轻Redis各个节点服务器的压力,但是一旦主数据库宕机之后就无法再为用户提供写服务,因为从数据库都是用来读写的。这样的话就无法实现Redis的高可用,解决方案就是使用哨兵模式或者使用Redis-Cluster集群来实现Redis的高可用。Redis哨兵模式:Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案特点: 哨兵是一个独立的进程,它会独立运行。哨兵启动之后会监控多个master-sla

2020-12-11 21:32:51 499 1

原创 【Redis-Series】三、Redis的主从复制原理以及实现(图文详解)

Redis的主从复制原理以及实现前言: 上一个博客讲到Redis的数据持久化,如果说Redis节点宕机了,那么我们的系统就无法对数据在redis进行缓存处理,这个可以通过Redis的哨兵模式或者集群模式解决,本篇博客先从Redis的主从复制说起,后续会发布哨兵模式和集群模式的实现。主从结构图:主从的特点:一个主数据库(master)下面可以有多个从数据库(slave);从数据库(slave)也可以拓展多个从数据库(slave),形成了强大的多级服务器集群架构即master->slave-

2020-12-10 22:01:11 301

原创 【Redis-Series】二、Redis的两种持久化机制RDB/AOF

Redis的两种持久化机制RDB/AOF前言:众所周知,redis是一种把数据存储在内存中的一种nosql数据库,读写速度远远超过Mysql、Oracle等关系型是数据库,但是一旦我们的redis数据库节点的服务器宕机,那么也会面临缓存数据丢失的问题。本文就是介绍一下解决方案,那就是对redis的数据进行持久化,Redis的持久化机制有两种:RDB和AOFRDB: 每隔一段时间,把内存中的数据写入磁盘的临时文件dump.rdb,作为快照,恢复的时候把快照文件读进内存。优势:每隔一段时间备份,全量备

2020-12-09 21:35:45 182

原创 【Redis-Series】一、Linux生产环境安装部署Redis

目录Redis简介:安装Redis1.下载:2.安装依赖环境3.上传到Liunx4.对文件进行解压5.安装6.配置7.启动Redis简介:Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而

2020-12-09 14:50:36 402

原创 【Nginx-Series】四、nginx启动错误解决方案

nginx.pidnginx 重启错误:nginx: [error] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)这种情况,错误提示很明显,就是/var/run/nginx/nginx.pid,路径下的nginx.pid找不到,所以根据提示在对应的路径下创建这个文件首先我的nginx的文件夹不存在,所以要创建对应的文件夹,随后进入该文件夹创建 nginx.pid创建成功:然后再次

2020-12-05 15:07:30 221

原创 【Nginx-Series】三、lvs+keepalived+Nginx搭建高可用nginx集群

目录lvs+keepalived+Nginx搭建高可用nginx集群LVS介绍keepalived介绍nginx介绍安装Keepalived安装ipvsadm配置RS(两台Nginx服务器)配置keepalived配置MASTER配置BACKUPlvs+keepalived+Nginx搭建高可用nginx集群今天我同事着急的叫我,我很礼貌的回应他说:发生肾么事了。他说:你说单节点的nginx挂掉了,虽然咱们也有搭建后台服务集群,那么这样依然会崩..

2020-12-03 22:43:17 622 2

原创 【Nginx-Series】二、Nginx配置文件nginx.conf详解以及负载均衡讲解

目录二、Nginx配置文件nginx.conf详解1、main模块2、events模块3、http模块4、upstream模块5、server模块二、Nginx配置文件nginx.conf详解上回说到,在Linux系统下安装部署Nginx,接下来就是最重要的,nginx应该如何配置。首先先介绍一下nginx.conf的结构,如图:配置文件原文如下:#user nobody;worker_processes 1;#error_log logs/er

2020-11-29 21:25:37 401

原创 【Nginx-Series】一、Linux下安装部署NGINX(附带搭建RTMP+NGINX+FFMPEG服务器)

目录Nginx简介:什么是反向代理?Nginx的安装:Nginx简介:Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx.

2020-11-28 22:21:01 212

原创 搭建RTMP+NGINX+FFMPEG服务器【附带常见问题解决方案】

NGINX-RTMP服务器搭建1. 官网http://nginx.org/en/download.html下载对应的nginx包。nginx-1.9.15.tar.gz2.下载nginx-rtmp-module-master.zip 地址:https://github.com/arut/nginx-rtmp-module/archive/master.zip3. 安装依赖环境 (1)安装gcc环境 :yum install gcc-c++ (2)安装PCRE库,用于解析...

2020-11-28 22:19:28 434

原创 未曾关注的Mybatis+PageHelper的分页查询的BUG

想必大家对SpringBoot+Mybatis+PageHelper这一套再熟悉不过了,但是你们是否遇到过这样的BUG:举例:订单表orders 和 订单商品表order_items上面两个表是一对多的关系,一个订单必定关联很多个商品。一般的查询方法如下:↓serviceImpl: @Transactional(propagation = Propagation.SUPPORTS) @Override public PagedGridResult queryMy.

2020-11-24 21:27:16 220

转载 史上最详细的 JDK 1.8 HashMap 源码解析

转载自:史上最详细的 JDK 1.8 HashMap 源码解析目录前言几个点:基本属性定位哈希桶数组索引位置get 方法代码块1:getTreeNode代码块2:find代码块3:comparableClassForput 方法代码块4:putTreeVal代码块5:tieBreakOrder代码块6:treeifyBin代码块7:treeify代码块8:moveRootToFront代码块9:checkInvariantsresize 方

2020-11-23 08:42:41 581

原创 Redis存入的时候乱码解决方案

日记: 今天写了一个reids模糊查询的方法公共方法: /** * @description:模糊删除 * @author:YJG * @date:2020-11-18 14:14:42 */ public Long dimDelete(String keysPre){ Set keys = redisTemplate.keys(keysPre+"*"); return redisTemplate.de...

2020-11-18 16:05:27 2006

原创 Redis数据类型&RedisTemplate用法详解

目录Redis 数据类型一、Redis 字符串(String) -- ValueOperations二、Redis 哈希(Hash) --HashOperations三、Redis 列表(List) --ListOperations四、Redis 集合(Set) -- SetOperations五、Redis 有序集合(sorted set) -- ZSetOperationsRedis 数据类型Redis支持五种数据类型:string(字符串),hash...

2020-11-18 13:50:48 1312

原创 SpringBoot-AOP:AspectJ 切面注解中五种通知注解

AspectJ 支持 5 种类型的通知注解:@Before: 前置通知, 在方法执行之前执行 @After: 后置通知, 在方法执行之后执行 。 @AfterRunning: 返回通知, 在方法返回结果之后执行 @AfterThrowing: 异常通知, 在方法抛出异常之后 @Around: 环绕通知, 围绕着方法执行SpringAop自定义切面切点配置一个切面(要使用两个注解,1.@Aspect声明该类是一个切面,Spring官方文档解释,单单这个注解不能把该类注册成bean 。所以需要

2020-11-16 15:46:45 1405

原创 window生成jwt.jks文件以及命令解释和java引用jks

cmd 命令 keytool -genkeypair -alias shy_debug.jks -keyalg RSA -validity 7 -keystore shy_debug.jks口令自定义命令详解:keytool: 是一个Java数据证书的管理工具,keytool 将密钥(key)和证书(certificates)存在一个keystore的文件中,或者是jks的文件keystore:其中包含密钥和公钥,指定导出的证书位置和名称genkey: 在用户目录中创建一个默认.keystor

2020-09-06 13:34:27 1428

原创 Failed to load property source from ‘file:/E:/MyItem/my-jwt/target/classes/application.yml‘

Failed to load property source from ‘file:/E:/MyItem/my-jwt/target/classes/application.yml’yml的那些坑…java.lang.IllegalStateException: Failed to load property source from 'file:/E:/MyItem/my-jwt/target/classes/application.yml' (classpath:/application.yml)

2020-09-04 14:29:37 553

转载 惊!SpringBoot+Mybatis+Durid+JTA+ATOMIKOS实现分布式事务(注解切换多数据源)

分享!注解切换多数据源(例子:Mysql&&Oracle)概述:前面三篇文章介绍了不支持分布式事务的数据源切换方式,无论是分包还是Aop方式切换,当遇到多数据源在同一被@Transactional标注的 Service方法体内无法切换数据源的问题,然后由此引发的多数据源事务无法被控制的情况,对业务的影响很不友好。这一篇我选择的是以AOP注解的方式去进行数据源的动态切换,顺带整合jta-atomikos把烦人的事务问题解决调,持久层框架用mybatis,数据库连接池使用druid,这些在

2020-08-01 17:42:49 622 1

原创 SpringBoot+Mybatis+Durid整合多数据源的三种方式,第三种(注解切换)

pom文件和yml配置在SpringBoot+Mybatis+Durid整合多数据源的三种方式,第一种这个方式,我目前系统正在使用,很方便很好用!注解切换我的目录结构:第一步:配置类DataSourceContextHolderpackage ky.arraign.common.datasourcetools.kydsconfig;import lombok.extern.slf4j.Slf4j;/** * @Description:动态切换数据源配置文件 * @Author:Y

2020-07-26 10:40:29 722 3

原创 SpringBoot+Mybatis+Durid整合多数据源的三种方式,第二种

pom文件和yml配置在SpringBoot+Mybatis+Durid整合多数据源的三种方式,第一种闲话少说,上代码!!我的项目结构:第一步:配置类DataSourceTypepackage com.qiaokeji.aopdatasource.datasourceconfig;/** * 任务: * 描述: * 作者:YJG86166 * 日期:2020/5/20 10:09 * @author 86166 */public class DataSourceType {

2020-07-26 10:20:28 468

原创 SpringBoot+Mybatis+Durid整合多数据源的三种方式,第一种

概述:项目在研发过程会遇到读取多个数据库的情况,这个时候就需要动态切换数据源用于适应系统的需求,下面我介绍三种实现方式(原理就是两种);废话少说,上硬货!!第一步:pom引入依赖: <java.version>1.8</java.version><dependencies> <dependency> <groupId>org.springframework.boot</groupId>

2020-07-26 10:00:01 628

空空如也

空空如也

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

TA关注的人

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