- 博客(276)
- 资源 (8)
- 收藏
- 关注

原创 pagehelper 不分页几种情况的解决方法
近期做一个项目,用到了该插件,遇到了些问题,在这里分享一下解决方法问题一:pagehelper没有效果,一直不能分页问题解决方法-引用其他博主的博客的解决:http://blog.youkuaiyun.com/linxingliang/article/details/52566881问题二:pagehelper有的时候有效果,有时候没有效果我在项目中就遇到了这个问题,找了好长时间,解决方法为:pagehelper里面的PageHelper.startPage(1,10);只对该语句以后的第一个查询语句
2021-09-01 09:30:23
3037

原创 04 | 深入浅出索引(上)
1. 引言 索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本500 页的书,如果你想快速找到其中的某一个知识点,在不借助目录的情况下,那我估计你可得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。2. 索引的常见模型这里我先给你介绍三种常见、也比较简单的数据结构,它们分别是哈希表、有序数组和搜索树。哈希表 哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数
2021-07-12 17:12:17
186
2

原创 03 | 事务隔离:为什么你改了我还看不见
1. 简介 简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MySQL中,事务支持是在引擎层实现的。你现在知道,MySQL 是一个支持多引擎的系统,但并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 引擎就不支持事务,这也是MyISAM 被 InnoDB 取代的重要原因之一。2. 隔离性与隔离级别 提到事务,你肯定会想到 ACID(Atomicity、Consistency、Isolation、Durability,即原子性、一致性、隔离性、持久性),今天
2021-07-12 15:47:28
188

原创 10丨 Redis主从同步与故障切换,有哪些坑
1. 主从数据不一致 主从数据不一致,就是指客户端从从库中读取到的值和主库中的最新值并不一致。举个例子,假设主从库之前保存的用户年龄值是 19,但是主库接收到了修改命令,已经把这个数据更新为 20 了,但是,从库中的值仍然是 19。那么,如果客户端从从库中读取用户年龄值,就会读到旧值。 那为啥会出现这个坑呢?其实这是因为主从库间的命令复制是异步进行的。 具体来说,在主从库命令传播阶段,主库收到新的写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,再把结果返回给客户端,而是主库自己
2021-06-30 17:31:17
403
1

原创 09丨缓存异常:如何解决缓存和数据库的数据不一致问题
1.缓存和数据库的数据不一致是如何发生的? 首先,我们得清楚“数据的一致性”具体是啥意思。其实,这里的“一致性”包含了两种情况:缓存中有数据,那么,缓存的数据值需要和数据库中的值相同;缓存中本身没有数据,那么,数据库中的值必须是最新值。 对于读写缓存来说,如果要对数据进行增删改,就需要在缓存中进行,同时还要根据采取的写回策略,决定是否同步写回到数据库中。同步直写策略:写缓存时,也同步写数据库,缓存和数据库中的数据一致;异步写回策略:写缓存时不同步写数据库,等到数据从缓存中淘汰时,再写回
2021-06-30 14:33:27
472
1

原创 08 | 替换策略: 缓存满了怎么办?
1. 前言 为了保证较高的性价比,缓存的空间容量必然要小于后端数据库的数据总量。不过,内存大小毕竟有限,随着要缓存的数据量越来越大,有限的缓存空间不可避免地会被写满。此时,该怎么办呢? 解决这个问题就涉及到缓存系统的一个重要机制,即缓存数据的淘汰机制。简单来说,数据淘汰机制包括两步:第一,根据一定的策略,筛选出对应用访问来说“不重要”的数据;第二,将这些数据从缓存中删除,为新来的数据腾出空间,2. 设置的缓存容量 我们先看看蓝线。它表示的就是“八二原理”,有 20% 的数据贡献了 80% 的访
2021-06-25 16:21:33
323
1

原创 07丨切片集群:数据增多了,是该加内存还是加实例
1. RDB持久化造成Redis缓慢 在使用 RDB 进行持久化时,Redis 会 fork 子进程来完成,fork 操作的用时和 Redis 的数据量是正相关的,而 fork 在执行时会阻塞主线程。数据量越大,fork 操作造成的主线程阻塞的时间越长。所以,在使用 RDB 对 25GB 的数据进行持久化时,数据量较大,后台运行的子进程在 fork 创建时阻塞了主线程,于是就导致Redis 响应变慢了。 切片集群,也叫分片集群,就是指启动多个 Redis 实例组成一个集群,然后按照一定的规则,把收到
2021-06-24 15:05:24
150

原创 06 | 哨兵机制: 主库挂了, 如何不间断服务
哨兵模式主从数据同步1. 前言2.哨兵机制的基本流程3.如何选定新主库1. 前言 无论是写服务中断,还是从库无法进行数据同步,都是不能接受的。所以,如果主库挂了,我们就需要运行一个新主库,比如说把一个从库切换为主库,把它当成主库。这就涉及到三个问题:主库真的挂了吗?该选择哪个从库作为主库?怎么把新主库的相关信息通知给从库和客户端呢? 这就要提到哨兵机制了。在 Redis 主从集群中,哨兵机制是实现主从库自动切换的关键机制,它有效地解决了主从复制模式下故障转移的这三个问题。2.哨兵机制
2021-06-18 13:45:41
225
2

原创 05丨数据同步:主从库如何实现数据一致
文章目录1. 主从库数据同步介绍2. 主从库间如何进行第一次同步3.主从级联模式分担全量复制时的主库压力4.主从库间网络断了怎么办?1. 主从库数据同步介绍 Redis 具有高可靠性有两层含义:一是数据尽量少丢失,二是服务尽量少中断。AOF 和 RDB 保证了前者,而对于后者,Redis 的做法就是增加副本冗余量,将一份数据同时保存在多个实例上。即使有一个实例出现了故障,需要过一段时间才能恢复,其他实例也可以对外提供服务,不会影响业务使用。 实际上,Redis 提供了主从库模式,以保证数据副本的
2021-06-18 10:20:50
266
原创 org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout
【代码】org.apache.rocketmq.remoting.exception.RemotingTooMuchRequestException: sendDefaultImpl call timeout。
2025-03-01 22:47:17
245
转载 解决Idea GitLab Clone failed: Authentication failed for的问题
解决Idea GitLab Clone failed: Authentication failed for的问题
2022-07-07 11:45:25
2594
原创 Java密码校验规则工具类
规则:1、长度大于8,且小于322、不能包含用户名3、不能包含连续3位及以上相同字母或数字4、不能包含3个及以上字典连续字符5、不能包含3个及以上键盘连续字符6、数字、小写字母、大写字母、特殊字符,至少包含三种...
2022-06-30 09:58:48
1225
原创 SpringBoot接口参数校验
我们在做与前端交互的后天应用接口的过程中,会定义很多对应的接口及参数,而有些接口参数有一定的要求,比如最大值、最小值约束,涉及到手机号、身份证等规则校验,参数是否为空等等,刚进入java领域的小伙伴们大部分第一时间都是针对每个参数进行一一判别校验、当接口参数校验,判断逻辑代码就显得极其冗杂,不美观也不便于阅读。其实我们可以使用validation结合spring进行参数的校验,并且通过Controller增强器@ControllerAdvice来定义全局异常处理类,配合@ExceptionHandler可以
2022-02-14 14:45:46
1840
1
原创 notepad正则删除关键词所在行
查找:^.大师兄.$替换为:(空)如果不留空行:查找:^.大师兄.\r?\n替换为:(空)注意:Notepad++的[全部替换]受[方向]约束,所以如果想“向下”全部替换,要把光标放到文首。注意:1,要替换全部要把光标放在文首2,严格按照上次选项,要选正则表达式,不选匹配新行...
2021-12-16 15:29:30
521
原创 windows 下 logstash 安装启动
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。
2021-12-01 15:38:29
2924
原创 RocketMQ 错误:The broker does not support consumer to filter message by SQL92
1.出现问题Connected to the target VM, address: '127.0.0.1:56480', transport: 'socket'Exception in thread "main" org.apache.rocketmq.client.exception.MQClientException: CODE: 1 DESC: The broker does not support consumer to filter message by SQL92For more in
2021-11-23 16:46:45
2030
1
原创 docker部署rocketmq
1:Dokcer搜索RocketMqdocker search rocketmq2:查看某一个镜像里面的所有版本(如foxiswho/rocketmq)3:拷贝RocketMQ到宿主机### 1.创建目录mkdir -p /mydata/rocketmq/conf/### 2.将容器内配置文件复制到主机docker cp c30063de3cf4:etc/rocketmq/broker.conf /mydata/rocketmq/conf/### 3.修改rocketMQ配置文件bro
2021-11-22 17:10:52
1009
原创 Shrio 自定义算法登录认证
1.实现shrio SimpleCredentialsMatcher的doCredentialsMatch算法package cn.steven.manager.security;import cn.sh.ideal.manager.util.AESUtils;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.AuthenticationToken;import org.apache.sh
2021-11-18 09:48:23
408
原创 解决springboot配置jackson.date-format不生效的问题
问题描述spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8但是不生效,返回的是依旧是时间戳格式原因添加拦截器并继承 WebMvcConfigurationSupport 后会覆盖@EnableAutoConfiguration关于WebMvcAutoConfiguration的配置!从而导致所有的Date返回都变成时间戳。https://www.cnblogs.com/sufferingStri
2021-11-11 15:50:29
3583
原创 HttpClient工具类
HttpClient工具类package cn.sh.steven.httpclient;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import org.apache.http.*;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.config.RequestConfig;i
2021-11-08 10:49:37
480
原创 HttpClient在传参和返回结果的中文乱码问题
我将一个file中的json字符串取出,实例化一个StringEntiry,将json字符串写入请求体中。然后无论我以哪种编码方式输出StringEntity中的content,其中的中文均为乱码“???”。 这是怎么回事?entity = new StringEntity(data,"UTF-8");StringEntity stringEntity = new StringEntity(sendData,"UTF-8");stringEntity.setContentType("applicati
2021-11-08 10:45:06
459
原创 05 | REST消息通信:如何使用 OpenFeign 简化服务间通信
上一讲我们学习了 Ribbon 与 RestTemplate 两个组件。Ribbon 提供了客户端负载均衡,而 RestTemplate 则封装了 HTTP 的通讯,简化了发送请求的过程。两者相辅相成构建了服务间的高可用通信。不过在使用后,你也应该会发现 RestTemplate,它只是对 HTTP 的简单封装,像 URL、请求参数、请求头、请求体这些细节都需要我们自己处理,如此底层的操作都暴露出来这肯定不利于项目团队间协作,因此就需要一种封装度更高、使用更简单的技术屏蔽通信底层复杂度。好在 Spring
2021-09-27 07:50:47
367
原创 04 | 负载均衡:Ribbon 如何保证微服务的高可用
上一讲我们对 Nacos 的集群环境与实现原理进行了讲解,我们已经可以轻松将单个微服务接入到 Nacos 进行注册,但是微服务本不是孤岛,如何实现有效的服务间稳定通信是本文即将介绍的主要内容,本次我们将主要学习三方面知识:介绍 Ribbon 负载均衡器;讲解 Ribbon+RestTemplate 两种实现方式;讲解 Ribbon 的负载均衡策略。Ribbon 负载均衡器在介绍 Ribbon 之前,咱们先来认识下负载均衡以及它的两种实现方式。负载均衡顾名思义,是指通过软件或者硬件措施。它将来
2021-09-23 07:35:03
437
数据结构(浙江大学)
2019-04-15
Spring源码深度解析
2018-03-02
Java 8实战
2018-03-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人