自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 03-Redis主从搭建,哨兵搭建,Cluster集群搭建

master收到PSYNC命令后,会在后台进行数据持久化通过bgsave生成最新的rdb快照文件,就算master没有开启rdb,在主从同步数据的时候也会自动调用bgsave命令。然后,master再将之前缓存在内存中的命令发送给slave。master会在其内存中创建一个复制数据用的缓存队列,缓存最近一段时间的数据,master和它所有的slave都维护了复制的数据下标offset和master的进程id,因此,当网络连接断开后,slave会请求master继续进行未完成的复制,从所记录的数据下标开始。

2023-05-11 21:33:09 153

原创 02-Redis持久化

简单来说,bgsave 子进程是由主线程 fork 生成的,可以共享主线程的所有内存数据。的时候,重写时将已存在的数据改为二进制的形式保存。新的文件一开始不叫appendonly.aof,等到重写完新的AOF文件才会进行改名,覆盖原有的AOF文件,完成新旧两个AOF文件的替换。然后,bgsave 子进程会把这个副本数据写入 RDB 文件,而在这个过程中,主线程仍然可以直接修改原来的数据。: 因为aof的数据比较全,所以在恢复时会优先使用,但是aof的文件不是二进制文件,在数据大的情况下恢复的比较慢。

2023-05-07 17:37:59 104

原创 Linux常用命令

在实际开发中,使用vim编辑器主要作用就是修改配置文件和编写shell脚本,下面是一般步骤:vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q!• /home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;• /mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;

2023-04-24 23:07:33 165

原创 在VM上安装linux

两台虚拟机ip不能相同 需要在一台中重新配置ipaddr,ipaddr要在192.168.0.x 中。这时候一般就可以ping通本地机器和外部网络了。上面的ipaddr要在192.168.0.x 中。不同点在于在2.8的时候选择桥接网络类型。一、在VM中安装linux系统。首先要进入可操作指令的系统。

2023-04-23 23:11:55 119

原创 01-Redis基本使用和高性能原理

但是scan并非完美无瑕, 如果在scan的过程中如果有键的变化(增加、 删除、 修改) ,那么遍历效果可能会碰到如下问题: 新增的键可能没有遍历到, 遍历出了重复的键等情况, 也就是说scan并不能保证完整的遍历出来所有的键, 这些是我们在开发时需要考虑的。因为它所有的数据都在内存中,所有的运算都是内存级别的运算,而且单线程避免了多线程的切换性能损耗问题。Redis 的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的,这也是 Redis 对外提供键值存储服务的主要流程。

2023-04-22 23:37:15 79

原创 Mysql事务隔离级别与锁机制

MyISAM在执行查询语句SELECT前,会自动给涉及的所有表加读锁,在执行update、insert、delete操作会自动给涉及的表加写锁。InnoDB在执行查询语句SELECT时(非串行隔离级别),不会加锁。但是update、insert、delete操作会加行锁。简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁则会把读和写都阻塞。

2023-04-21 23:27:32 146

原创 MySql优化实战案例

MySQL支持两种方式的排序filesort和index,Using index是指MySQL扫描索引本身完成排序。index效率高,filesort效率低。order by满足两种情况会使用Using index。order by语句使用索引最左前列。使用where子句与order by子句条件列组合满足索引最左前列。尽量在索引列上完成排序,遵循索引建立(索引创建的顺序)时的最左前缀法则。如果order by的条件不在索引列上,就会产生Using filesort。

2023-04-19 02:04:15 70

原创 索引设计原则

尽量先把业务sql写完,根据sql来看看如何建索引比如可以设计一个或者两三个联合索引(尽量少建单值索引,联合索引尽量覆盖 mysql一般只会选一个索引走,很多where可能只走一个,单值索引占用空间大),让每一个联合索引都尽量去包含sql语句里的where、order by、group by的字段,还要确保这些联合索引的字段顺序尽量满足sql查询的最左前缀原则。性别这种不是男就是女的没啥用。

2023-04-19 00:48:09 48

原创 一条SQL在MySQL中是如何执行的

类似命令连接,或者Navicat:连接命令中的 mysql 是客户端工具,用来跟服务端建立连接。在完成经典的 TCP 握手后,连接器就要开始认证你的身份,输入正确的账号密码后。mysql到系统user表中查出的你的权限加载到类似会话的,这时候修改权限后必须连接才会生效。建立链接后默认不操作,自动断开。:比较鸡肋,而且8.0后已删除:分析你的sql语句是否符合规范,生成语法树语法树:在java中也可以做,比如分布式事务上可以用语法树来分析回滚补偿的sql语句。

2023-04-18 23:34:49 43

原创 Explain详解与索引最佳实践

因为文件中维护着两个索引树,聚簇索引的叶子阶段存着表的所有数据,二级索引的叶子节点存放着聚簇索引的id,以供回表查询。原因还是因为b+树的索引存放是有序的。:扫描全索引就能拿到结果,一般是扫描某个二级索引,这种扫描不会从索引树根节点开始快速查找,而是直接对二级索引的叶子节点遍历和扫描,速度还是比较慢的,这种查询一般为使用覆盖索引,二级索引一般比较小,所以这种通常比ALL快一些。:相比 eq_ref,不使用唯一索引,而是使用普通索引或者唯一性索引的部分前缀,索引要和某个值相比较,可能会找到多个符合条件的行。

2023-04-16 23:31:52 73

原创 Mysql索引的分析

mysql一次大概能读16k的数据到内存,所以如果索引列为bigint,根据计算大概一个节点可以放1170个元素,6的为指向下一个节点地址,所以也能放将近1170个,最后的带data就算他1k每一个,所以查询1170乘1170乘16的数据量,只要查询3次的io,大大加快了速度。其他列的辅助索引,例如根据name进行索引,data存放的是聚集索引的值。索引也是一个数据结构,存储在磁盘,key是你要查的值,data为值在磁盘上的位置,所以如果能越快找到索引的key,就能越快找到索引的data。

2023-04-16 00:57:36 149

原创 JMM简单理解

代码理解发现第二个线程就算修改了f的值,线程1依然会无限循环。根据模型图可以分析运行过程。

2023-04-15 13:57:00 58

原创 Docker

编写dockerfile文件 # docker build -t 新镜像名字:TAG . <-(有一个点) # docker run -it 新镜像名字:TAGEXPOSE 80作用:默认docker0只能通过ip来进行容器间的互通,自定义网络可以用服务名来进行交互。

2023-03-25 13:45:56 232 1

原创 多线程设计模式

第一个阶段主要是线程T1向线程T2发送终止指令,而第二阶段则是线程T2响应终止指令(如果用join实现,转递的值只能是静态,不如这个)一个线程等待另一个线程的计算结果,通过中间对象通信。超过等待时间就不等了,修改getData()方法。

2023-03-14 21:44:37 41

原创 spring cloud alibaba使用

spring cloud alibaba

2023-02-13 23:16:36 231

原创 SpringBoot自动注入bean原理

SpringBoot自动注入bean原理

2023-02-10 01:29:20 935 1

原创 Spring cache

Spring cache

2023-02-07 15:22:25 74

原创 Spring SpEL表达式

Spring SpEL表达式

2023-01-31 22:57:27 343

原创 Spring Aop使用

spring Aop

2023-01-13 17:46:22 174

原创 java动态代理和CGLib动态代理

动态代理

2023-01-10 22:29:49 142

原创 Java 国际化简单使用

java国际化

2023-01-07 23:42:50 286

原创 spring使用记录

spring使用记录

2022-12-21 00:32:05 172

原创 Spring之Ioc工作流程

ioc创建流程简介

2022-12-09 10:42:49 198

原创 设计模式

观察者模式

2022-12-08 10:52:19 116

原创 Spring之功能使用

spring之监听器和广播器

2022-12-07 23:00:17 295

原创 Spring之Bean的生命周期

spring生命周期

2022-11-25 16:57:53 169

原创 Spring之BeanFactory和ApplicationContext

spring

2022-11-24 00:17:48 167

原创 JavaWeb Servlet

简介:参考书籍 Java Web编程技术(第三版)–微课版。

2022-11-03 20:52:46 202

原创 SpringBoot AOP @AfterThrowing+自定义注解+自定义异常使用

springboot aop的使用

2022-10-31 17:21:03 1955

原创 Java JDBC 基础

jdbc基础

2022-10-30 00:06:06 101

原创 java8 StreamAPI串行流和并行流

stream

2022-10-28 16:08:53 1044

原创 Java8中Collectors的使用

Java8中Collectors的使用

2022-10-27 23:08:00 887

原创 Java8 新特性使用

java8新特性的使用

2022-10-26 23:06:33 801 4

原创 数据结构

1

2020-07-17 11:14:13 57

原创 线性表

**线性表(List)????*零个或多个数据元素的有序序列 (相同类型)基本操作:创建线性表,判断是否为空,清空,根据索引获取元素,查找线性表中是否含有某个元素 并返回索引,在某个位置插入新元素,删除某个元素,返回线性表长度...

2020-07-17 11:13:43 68

空空如也

空空如也

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

TA关注的人

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