- 博客(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
原创 shell脚本编写注意事项
在Shell(如Bash)中,有许多特殊字符被用来控制命令的执行流程、重定向输出、进行参数扩展等。了解这些特殊字符对于编写有效的Shell脚本和命令行操作至关重要。\t\n>>>>;&&||?!当编写Shell脚本或命令时,确保理解这些特殊字符的作用和用法,以便正确地构造你的命令和脚本。
2024-08-31 10:27:24
405
原创 MySQL学习笔记-进阶篇-视图和存储过程
用户自定义变量是用户根据需求自己定义的变量,用户变量不用提前声明,在用的时候,直接使用@变量名使用就可以。其作用域为当前连接。
2024-06-22 20:28:15
639
原创 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
原创 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<
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
原创 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
原创 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关注的人