自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis学习笔记二

在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis时应用连接从节点),分担服务器的负载,尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。2、从容量上,单个Redis服务器内存容量优先,就算一台Redis服务器内存容量为256G,也不能将所有内存用作Redis存储内存,一般来说,单台Redis最大使用内存不应该超过20G。当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;

2025-04-01 12:23:43 493

原创 Redis学习笔记一

/自定义一个RedisTemplate模版@Bean//我们为了开发方便,一般直接使用<String,Object>//Json序列化配置//String 的序列化@Autowired@TestUser user = new User(1, "测试中文名");User{id=1, name='测试中文名'}1) "user" ------ String类型的key。

2025-04-01 12:21:47 1002

原创 Dubbo-笔记随记一

客户端使用version = "v1.0" 和version = "v2.0",控制具体使用哪个版本。FailFast Cluster:快速失败,只发起一次调用,失败立即报错。FailSafe Cluster:失败安全,出现异常时,直接忽略。当返回是个对象时,该对象必须进行序列化,因为该对象需要在两台服务器间(网络)传输。FailBack Cluster:失败自动恢复,后台记录失败请求,定时重发。设置了超时时间,在这个时间段内,无法完成服务访问,则自动断开连接。如果出现网络抖动,则这次请求就会失败。

2025-01-07 12:30:59 859

原创 JAVA 多线程之ForkJoin

Fork/Join 框架是jdk7提供的一个用于并行执行任务的框架,是一个把大任务分成若干小任务,最终汇总每个小任务结果,最终得到大任务计算结果的框架。首先,我们需要一个fork类,来把大任务拆分成子任务,有可能子任务还很大,需要不停的分割,直到分割出子任务足够小。假如有些线程一起工作,可能有些线程的工作早早结束,结束的线程与其等着,不如去帮其他线程干活,于是就去其他线程的队列里,窃取一个任务来执行。Join:就是合并这些小任务的执行结果,最终得到大任务的结果。窃取任务线程永远从双端队列尾部拿取任务执行。

2024-11-07 17:16:43 500

原创 linux 基本命令

查看linux版本信息。

2024-08-31 15:19:57 168

原创 shell脚本编写注意事项

在Shell(如Bash)中,有许多特殊字符被用来控制命令的执行流程、重定向输出、进行参数扩展等。了解这些特殊字符对于编写有效的Shell脚本和命令行操作至关重要。\t\n>>>>;&&||?!当编写Shell脚本或命令时,确保理解这些特殊字符的作用和用法,以便正确地构造你的命令和脚本。

2024-08-31 10:27:24 405

原创 MySQL学习笔记-进阶篇-锁

只允许加锁客户端读操作禁止写操作。允许其他客户端的读操作,阻塞其他客户端的写操作。

2024-06-23 16:03:09 322

原创 MySQL学习笔记-进阶篇-视图和存储过程

用户自定义变量是用户根据需求自己定义的变量,用户变量不用提前声明,在用的时候,直接使用@变量名使用就可以。其作用域为当前连接。

2024-06-22 20:28:15 639

原创 Mysql学习笔记-SQL优化总结

详细内容参见。

2024-06-15 22:54:54 212

原创 MySQL学习笔记-进阶篇-SQL优化

一个常见又非常头疼的问题是limit 2000000,10,此时需要mysql排序前2000010条记录,仅返回2000000-2000010的记录,其他数据丢弃,查询排序的代价非常大。通过表的索引或全表扫描,读取满足条件的数据行,然后在排序缓冲区sort buffer中进行排序操作,所有不是通过索引直接返回排序结果的排序,都叫FileSort排序。count()是一个聚合函数,对于返回的结果集,一行一行的判断,如果count函数的参数不是null,累计值就加1,否则不加,最后返回累计值。

2024-06-15 22:49:21 1239

原创 Mysql学习笔记-进阶篇

存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是库的,所以存储引擎也可被称为表类型。1)在创建表时指定存储引擎CREATE TABLE 表名(字段1名 字段1类型 [COMMENT 字段1注释],……字段n名 字段n类型 [COMMENT 字段n注释])ENGINE=INNODB [COMMENT 表注释]2)查看数据库引擎--查看数据库的引擎--查看数据库中某个表使用的什么存储引擎。

2024-06-12 19:41:53 807

原创 MYSQL学习笔记-基础篇

mysql基础操作

2024-05-30 17:21:09 1172

原创 es 按照时间分组 date_histogram

按照时间分组sqljava实现sqlhttp://ip:9200/_sql?sql=select count(cf.serial_no.raw),sum(cf.educate_amount) from f_mid_order_details where cf.create_time>=‘2020-01-01 00:00:00’ and cf.delete_flag=0 GROUP BY (date_histogram(‘format’=‘yyyy-MM’, ‘alias’=’@timestamp

2021-08-03 17:12:08 2067

转载 MQ消息最终一致性解决方案

随着分布式服务架构的流行与普及,原来在单体应用中执行的多个逻辑操作,现在被拆分成了多个服务之间的远程调用。虽然服务化为我们的系统带来了水平伸缩的能力,然而随之而来挑战就是分布式事务问题,多个服务之间使用自己单独维护的数据库,它们彼此之间不在同一个事务中,假如A执行成功了,B执行却失败了,而A的事务此时已经提交,无法回滚,那么最终就会导致两边数据不一致性的问题;尽管很早之前就有基于两阶段提交的XA分布式事务,但是这类方案因为需要资源的全局锁定,导致性能极差;因此后面就逐渐衍生出了消息最终一致性、TCC等柔性事

2020-12-03 20:04:08 1917

原创 缓存穿透、缓存雪崩、缓存击穿及各自解决方案

缓存穿透1.简介当数据库查询一个一定不存在的数据,由于数据不存在在缓存区,所以请求会发送到存储层,若有人一直使用不存在的数据进行查询,这个数据会一直发送到存储层如果流量过大,很容易使得数据库崩溃2.解决方案1.最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。2.如果一个查询返回的数据为空(不管是数 据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间

2020-12-01 11:59:05 186

原创 spring 连接池

使用连接池需要添加如下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <!-- mysql数据库驱动 --> <dependency> <groupId>mysql&lt

2020-11-02 18:59:07 312

原创 多线程 第一篇

1. 线程的基本概念1.1 线程和进程1.2线程的底层知识1.2.1线程间的可见性多线程提高效率,本地缓存数据,造成数据修改不可见,要想保证可见性,要么触发同步指令,要么加上volatile,被修饰的内存,只要有修改,马上同步涉及到的每个线程1.2.2用volatile保持可见性1.2.3 线程的as-if-serial单个线程,两条语句,未必是按顺序执行单线程的重排序,必须保证最终一致性as-if-serial:看上去像是序列化(单线程)1.2.4 CPU的乱.

2020-10-22 10:47:48 111

原创 linux crontab 环境变量的坑

问题描述:监控脚本手动可以正常执行,但是放到crontab执行失败问题分析:1)查看crontab执行日志 (使用root)vim var/log/cron2)查看执行日志,发现是调用java执行不了。怀疑是环境变量问题。3)怀疑crontab有单独的环境变量cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# For details see .

2020-10-15 19:10:12 522 1

原创 hadoop之MapReduce的shuffle的Combiner

Combiner合并1)Combiner是MR程序中Mapper和Reducer之外的一种组件;2)Combiner组件的父类就是Reducer;3)Combiner和Reducer的区别在于运行的位置; Combiner是在每一个MapTsk所在的节点运行; Reducer是接受全局所有Mapper的输出结果;4)Combiner的意义就是对每一个MapTask的输出进行局部汇总,以减小网络传输量。5)Combiner能够应用的前提是不能影响最终的业务逻辑,而且,...

2020-09-21 13:28:12 147

原创 hadoop之MapReduce

mapTask 根据分片数确定reduceTask 数量手动设置,根据分区,将数据分配到不同的任务。

2020-09-18 10:52:53 114

原创 canal读取binlog

服务端:修改example中的配置启动服务:bin目录下 ./startup.sh客户端:1、加入依赖: <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.co.

2020-08-10 16:28:52 1227 1

原创 事务隔离级别

事务的4中隔离级别,及各自的问题 隔离级别 脏读 不可重复读 幻读 readuncommitted [x] [x] [x] readcommitted [x] [x] repeatableread ...

2020-08-07 14:37:39 135

原创 mysql事务

事务:一、问题分析及抛出1、是什么?一组不可分割的操作2、事务的特点:ACID原子性:一致性:隔离性:持久性:3、事务的目的:保证数据的最终一致性,以下情况,会对一致性造成破坏。1》事务并发执行;2》事务故障或者系统故障;4、如何解决?并发控制:解决隔离性、一致性问题日志恢复:解决一致性、原子性、持久性问题5、怎么实现?(实现原理)原子性:通过undo log来实现持久性:通过redo log来实现隔离性:读写锁+MVCC来实现事务

2020-08-04 14:40:55 102

原创 mysql第一篇 数据存储结构

一、mysql数据存储mysql数据存储:数据存储到磁盘,以文件方式存储,根据mysql服务启动参数,确定mysql数据存储位置mysql 135087 134756 0 2019 ? 19:27:13 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql -

2020-08-03 17:44:11 303

原创 mtric 第一篇

一、使用spring-boot进行管理:1、需要一个服务端:服务端配置:1)需要的依赖包:<dependencies> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> </d

2020-07-02 16:11:05 294

原创 spring-actuator

已经实现的各种指标监控器:1、localhost:19667/actuator/health/health这个路径主要是用来统计系统的状况,默认里面目前只有系统状况和磁盘状况{ "status": "UP", "details": { "diskSpace": { "status": "UP", "details": { "total": 340185694208, .

2020-06-22 17:31:04 241

转载 mysql隔离级别

参见https://www.cnblogs.com/wyaokai/p/10921323.html一、事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  2、一致性(Consistency):事务开始前和结束后,数据库的完整性约束没有被破坏 。比如A向B转账,.

2020-06-04 20:18:19 132

原创 SimpleDateFormat 线程安全问题

多线程导致时间转换报错上DateUtils类代码改之前:private static SimpleDateFormat sdfStandard = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static sdfDay = new SimpleDateFormat("yyyy-MM-dd");public static String getDateStart(String dateStr){ Ca

2020-06-02 12:04:18 168

原创 git问题汇总

1、下载一个分支,进行代码提交,没有任何冲突,push失败,提示:提示Push rejected: Push to origin/master was rejectedgit push失败:prohibited by Gerrit: ref update access denied解决办法git config remote.origin.push refs/heads/*:ref...

2020-05-08 11:32:47 395

原创 spring-JPA

从mysql,使用工具生成实体类基本的groovy配置

2019-12-25 18:22:07 177

原创 linux 常用命令

一次杀死多个相关进程ps -ef |grep hello |grep -v grep|awk '{print $2}'|xargs kill -9

2019-12-18 14:03:29 86

原创 redis 健康检查

报错2019-10-31 22:17:35.957 WARN 19566 --- [io-19667-exec-9] o.s.b.a.redis.RedisHealthIndicator : Redis health check failedredis.clients.jedis.exceptions.JedisConnectionException: Coul...

2019-11-05 11:47:12 4916 1

原创 spring校验必填字段

使用切面实现/** * @Auther: liyongli * @Date: 2019/9/20 14:43 * @Description: */@Slf4j@Aspect@Component@Order(3)public class ParamValidAspect { /** * 定义切入点 */ @Pointcut("exe...

2019-09-20 19:32:56 2816

原创 spring-data-redis原理解析

为什么在application.properties文件中配置一下信息,就能够自动使用redis集群?spring-boot-autoconfigure包中org.springframework.boot.autoconfigure.data.redis.RedisProperties 这个配置类设置了redis的配置属性//// Source code recreated fr...

2019-09-06 21:08:19 1161

原创 spring缓存使用-标签

注解方式1、开启缓存机制启动类加上注解,@EnableCaching//开启缓存@SpringBootApplication@EnableCaching//开启缓存public class DcFrameworkWebApplication { public static void main(String[] args) { SpringApplicat...

2019-09-06 18:40:00 252

原创 springboot +redis

1、pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>2、applicat...

2019-09-02 17:55:26 184

原创 切面日志

直接上代码package com.XXX.datacenter.framework.web.log;import com.alibaba.fastjson.JSON;import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinP...

2019-08-26 19:58:58 145

原创 java链接mysql

pom依赖:<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --><dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <versi...

2019-08-13 14:50:34 88

原创 spring的邮件功能

依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>application.propertiesspring...

2019-07-30 20:46:27 127

原创 java mail

使用Java应用程序发送 E-mail 十分简单,但是首先你应该在你的机器上安装 JavaMail API 和Java Activation Framework (JAF) 。您可以从 Java 网站下载最新版本的JavaMail,打开网页右侧有个Downloads链接,点击它下载。 您可以从 Java 网站下载最新版本的JAF(版本 1.1.1)。你也可以使用本站提供的下载链接:...

2019-07-30 20:40:57 183

空空如也

空空如也

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

TA关注的人

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