- 博客(26)
- 收藏
- 关注
原创 nginx HTTP 节点常用指令
max_fails=3 fail_timeout=30s 配置表示如果在 30s 内失败次数达到 3次,那么后面的 30s 将不会有请求经过当前地址,30s 后再次尝试,然后循环这个过程。json:“”” 转义成 “"”,“\” 转义成 “\”,字符值小于 32 转义成 “\n”, “\r”, “\t”, “\b”, “\f”, 或者 “\u00XX”。escape 的 default:将 ““”、“\” 和其值小于 32 或者大于 126 的字符转义成 \xXX,如果未找到变量值则用 “-” 表示。
2023-04-27 16:27:09 182
原创 Redis主从与哨兵模式构建与原理分析
当主从连接断掉之后,slave 节点隔断时间(默认1s)主动尝试和 master 节点进行连接,如果从节点携带的偏移量标识还在 master 节点的同步备份日志中,那么就从 slave 发送的偏移量开始继续上次的同步操作,如果 slave 发送的偏移量已经不在 master 的同步备份日志中(可能由于主从之间断掉的时间比较长或者在断掉的短暂时间内 master 节点接收到大量的写操作),则必须进行一次全量更新。redis 策略是,无论如何,首先会尝试进行增量同步,如不成功,要求从机进行全量同步。
2023-03-03 17:45:49 675
原创 Spring 扩展点 BeanFactoryPostProcessor 使用技巧
这个的话多了几个参数,ConstructorArgumentValues,看名字就大概可以猜的出是传构造参数的。其中提供一个 ConfigurableListableBeanFactory 回调对象,里面提供了很多框架内部使用的方法,建议的话使用它的实现类去注册 Bean 的信息。不建议使用里面的方法直接实例化对象,因为过早的创建对象会导致后续 Spring 一些对 Bean 修饰执行不到,生命周期不完整。第一个参数填的是 Bean 的名称,第二个就是 Bean 的信息。这种方式就很直接了。
2022-09-26 23:18:31 536
原创 MySQL 的其他存储引擎
1、MySQL 的其他存储引擎MySQL 8.0 的默认存储引擎是 InnoDB,可以通过设置 SET default_storage_engine=“存储引擎名称”; 修改会话级的默认存储引擎。在配置 my.cnf 中的 [mysqld] 添加 default-storage-engine=“存储引擎名称” 设置永久性的默认存储引擎。通过 show variables like '%storage_engine%'; 查看 default_storage_engine 默认引擎。SHOW ENGINE
2022-04-07 22:54:36 882
原创 MySQL 调试篇
1、MySQL 调试篇本篇主讲如何使用 explain 和 explain 各个参数的意义、如何查看被优化器优化后的 SQL 和手动影响优化器的优化。1.1、explain当 explain 与 SELECT, DELETE, INSERT, REPLACE, UPDATE 这些语句一起使用时会显示相应的执行计划信息。当和 connection_id 一块使用时,显示的是相应命名语句的执行计划。在讲解 explain 的字段之前,我们先来说下 explain。explain 和相关的 SQL 一块
2022-04-02 19:10:08 1747
原创 MySQL 查询优化器与 SQL 调试 (一)
1、MySQL 查询优化器与 SQL 调试 (一)要想写出更好的 SQL,一些基础概念和 SQL 调试是必不可少的。下面我们来看下查询优化器给我们做了哪些优化,执行器真正执行的 SQL 语句是什么。首先了解一些基础的概念。1.1、MySQL 客户端与服务端的通信协议MySQL 客户端与服务端的通信协议为 “半双工”,也就是在任何一个时刻,只能由服务端发送数据到客户端,或者反之,两个动作不能同时发生。这就导致了没法进行流量控制,一旦一端开始发送消息,另外一端要完整接收消息才能响应对方。如果发送的数据太
2022-03-29 23:01:57 1654
原创 MySQL 8.0 SQL 执行流程
MySQL 8.0 SQL 执行流程首先我们先来看下 MySQL 的经典架构图,8.0 的没怎么翻到,先看看这个了。图上有这么几个模块:Collectos连接器,客户端可以通过这些方式对 MySQL 服务端发起通信。Services & utilities?Connection pool连接池,负责连接的处理、安全和认证,比如我们的请求线程的新建、密码认证、权限获取都是由这个模块负责。这里缓存了权限,所以当你不断开连接,其他用户修改权限后,当前的连接的权限也不会改变。SQL In
2022-03-23 23:11:10 1750
原创 Spring Boot 枚举类型的自动转换
1、Spring Boot 枚举类型的自动转换需求:一般我们在数据库都会定义数值型的枚举常量,不管是序列化还是反序列化都是需要我们手动去转换成枚举类型的,既然这样我们能不能让它们自动转换呢?接下来我们就来尝试一下:首先解决如何接收枚举类型。枚举父类/** * @author rookie */public interface IEnum<T extends Serializable> { /** * 获取值 * @return 值 */
2022-03-22 19:40:45 3985 1
原创 Mybatis 插件开发与 Spring Boot 整合
Mybatis 插件开发MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)ParameterHandler (getParameterObject, setParameters)ResultSetHandler (handleResultSet
2022-02-16 16:35:10 400
原创 Mybatis 源码分析
1、连接 MySQL1.1、Java连接MySQL public static void main(String[] args) throws SQLException { String url = ""; String userName = ""; String password = "";// 创建数据库连接,当前操作在语句结束后会自动关闭流 try(Connection connection = DriverMa
2022-02-16 12:43:38 575
原创 用uniapp搞了个小说阅读器
用uniapp搞了个小说阅读器,功能和笔趣阁差不多,界面简约~欢迎各位下载使用。有啥bug的话可以到 983329633 群里反馈,修复不修复就不知道了[狗头],毕竟一个人开发挺累的。...
2021-05-24 22:14:57 3175
原创 Spring Boot 与 RabbitMQ 整合
1、Spring Boot 与 RabbitMQ 整合这份整合方案我想是全网最独特的了,而且参考的是最新版本的教程。因为 Spring 已经为我们封装好了 RabbitMQ 的一些配置,所以我们直接用就好了。pom包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp<
2021-05-19 22:24:19 142
原创 重学 Java 基础之多线程基础(一)
1、多线程基础1.1、什么是进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。广义定义:进程是一个具有
2021-01-08 15:50:27 99
原创 Nacos 与项目整合
1、Nacos 与项目整合1.1、最外层 pom 文件内容<!-- spring boot 版本 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.6.RELEASE</ve
2020-12-24 20:40:05 613
原创 深入了解事务的原理
1、事务基础概念1.1、什么是事务引用百度百科上的一段话:事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(Unit)。事务通常由高级数据库操纵语言或编程语言(如 SQL,C++ 或 Java)书写的用户程序的执行所引起,并用形如 begin transaction 和 end transaction 语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)
2020-10-27 15:10:25 1889 2
原创 mysql常用sql语句执行时间记录(sql优化)
###1、查询单表数据量:3200000条1.1、数量查询select count(1)from users--耗时:12.997sselect count(*)from users--耗时:12.449sselect count(id)from users--id是主键--耗时:12.414sselect count(`password`)from users--password,字符型,普通字段无索引--耗时:4.869sselect count(`stat
2020-09-21 18:19:58 381
原创 nacos搭建集群
环境:mysql:5.8 + nacos:1.2.1 + window10下载nacos压缩包nacos压缩包复制三个nacos压缩包解压修改配置nacos/conf文件夹下的application.properties添加### If user MySQL as datasource:spring.datasource.platform=mysql### Count of DB:db.num=1### Connect URL of DB:db.url.0=jdbc:mysql.
2020-05-27 14:32:30 204
原创 序列化错误 local class incompatible: stream classdesc serialVersionUID = 72892319061181
序列化错误 local class incompatible: stream classdesc serialVersionUID = 72892319061181解决办法:在实体类中添加 private static final long serialVersionUID = -6743567631108323096L;serialVersionUID设置成错误提示的值如果还没有解决,使用flushdb命令清空redis所有的key。...
2020-05-09 19:04:20 1221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人