自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr. Ding的小博客

这个人很懒,什么都没写~

  • 博客(153)
  • 收藏
  • 关注

原创 XStream导出xml文件

/</</</

2024-07-01 11:37:37 185

原创 设计模式代码

参考地址:https://www.runoob.com/design-pattern/design-pattern-tutorial.html。

2024-04-03 14:19:37 573

原创 自定义redis缓存和本地缓存注解

*** 二级缓存:redis+本地缓存* 默认启用redis缓存,本地缓存由withLocalCache控制* @author*//*** 是否启用本地缓存* @return*//*** 分钟级缓存:* 一级缓存的失效时间为10分钟,这里二级缓存的失效时间应该大于等于10分钟,* 不然失去二级缓存的意义* 秒级缓存:本地缓存失效时间是5s* @return 缓存失效时间 (默认分钟)*//*** 缓存失效时间单位。

2024-01-19 18:09:01 467

原创 redis缓存

键只能为字符串,值:字符串、列表、集合、散列表、有序集合。Redis 用来做分布式锁。支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。

2024-01-17 18:57:30 978

原创 高并发和多线程

多线程和高并发

2024-01-17 11:36:28 952

原创 分布式锁实现用户锁

秒杀、支付等场景,用户频繁点击按钮,会造成同一时刻调用多次接口【第一次请求接口还没响应数据,用户又进行了第二次请求】,造成数据异常和网络拥堵。添加用户锁,在用户第二次点击按钮时,拦击用户请求。:用redis的setIfAbsent 进行加锁,防止死锁,10秒后自动释放锁。自定义锁注解,利用切面给所有加注解的方法加分布式锁防止用户重复点击按钮。:用户锁注解,自定义锁注解,然后给需要加锁的方法加上此注解。秒杀活动开始,用户点击按钮,进行上锁,【默认10秒】内不能再点击,默认10s后自动释放锁。

2024-01-15 18:24:13 429

原创 分布式锁实现限流

自定义锁注解,利用切面给所有加注解的方法加分布式锁进行限流。:限流注解,自定义锁注解,然后给需要限流的方法加上此注解。

2024-01-15 17:48:01 441

原创 java锁的分类

乐观锁不会添加锁,无锁算法,没有线程被阻塞。悲观锁拿到资源就加锁,线程被阻塞。乐观锁:CAS算法 Compare-And-Swap(比较并交换)的缩写,轻量级锁。Java中,synchronized关键字和Lock的实现类都是悲观锁。乐观锁适合读操作多的场景,悲观锁适合写操作多的场景。

2024-01-11 16:55:24 885

原创 自定义分布式锁注解

*** 尝试获取分布式锁* @param lockKey 锁* @param requestId 请求标识* @param expireSeconds 锁有效时间* @param overTime 超时时间* @param timeUnit 时间单位* @return 是否获取成功* @throws InterruptedException 中断异常*//*** 尝试获取分布式分段锁* @param segments 分段标识* @return 返回成功加锁的段*/

2024-01-02 14:35:58 447

原创 git 克隆无权限-重新输入账号密码

克隆项目代码时提示没有权限,有可能是没有登录账号,也可能是账号密码改了,运行下面指令,然后重新克隆项目,下载的时候会让你重新输入账号密码,则克隆成功。

2023-12-06 19:48:14 1439

原创 Could not find artifact com.sun:tools:jar:1.8 at specified path ${env.JAVA_HOME}\..\lib\tools.jar

Could not find artifact com.sun:tools:jar:1.8 at specified path ${env.JAVA_HOME}\..\lib\tools.jar。

2023-08-31 19:45:00 672

原创 解决.gitignore无效的问题

读了下git文档,才发现,这些东西其实很简单,很容易理解。cached其实就是暂存区,然后一个是工作的目录,你的工作目录的东西做出修改时,会和缓存区进行对比,因此你git status时,会显示出来这个差异,因此为了使.gitignore中的内容生效,那么就删除掉暂存区,然后将所有本地文件追踪一下,就得到最新的暂存区文件。git 总提交乱七八糟的文件,改了gitignore无效,是git 缓存问题。

2023-08-30 21:51:41 170

原创 mybatis升级到mybatis-plus

mybatis升级到mybatis-plus,两个共存之前依赖只有mybatis,没有plus。分页插件

2023-08-23 20:45:00 1650

原创 spring security实践-全套代码

spring security,权限认证,登入

2023-08-14 22:45:00 777 1

原创 mysql进阶-事务的隔离级别

最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。最高的隔离级别,完全服从ACID的隔离级别。所有的事务依次逐个执行,这样事务之间就完全不可能产生干扰,也就是说,该级别可以防止脏读、不可重复读以及幻读。

2023-08-05 16:02:12 182

原创 MYSQL进阶-事务的基础知识

事务是一个不可分割的数据库操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一种一致性状态变到另一种一致性状态。事务是逻辑上的一组操作,要么都执行,要么都不执行。事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额增加1000元。万一在这两个操作之间突然出现错误比如银行系统崩溃,导致小明余额减少而小红的余额没有增加,这样就不对了。

2023-08-03 20:10:02 669

原创 mysql进阶-MYSQL逻辑架构和SQL执行流程

mysql进阶-MYSQL逻辑架构和SQL执行流程 ,1. 连接层:客户端和服务端建立连接,客户端发送SQL至服务端; 2. SQL层(服务端): 对SQL语句进行查询处理;与数据库文件的存储方式无关; 3. 存储引擎层: 与数据库文件打交道,负责数据库文件的存储和读取。

2023-08-02 10:29:31 114

原创 linux-MySQL的数据目录

linux mysql的数据目录, my.ini ,my.cnf

2023-08-01 22:30:00 888

原创 mysql进阶-修改linux服务器中MySQL的字符集

linux中mysql8默认的字符集是latin1,在插入中文时会报错,所以一般在配置好mysql时需要修改字符集为utf8查看当前数据库的字符集发现默认是latin1。

2023-08-01 21:00:00 828

原创 mysql进阶-用户密码的设置和管理

修改mysql密码,mysql修改密码,设置mysql密码过期,mysql设置密码过期

2023-08-01 20:47:48 1266

原创 mysql进阶-用户的创建_修改_删除

mysql进阶-用户的创建_修改_删除

2023-08-01 20:03:45 194

原创 mysql进阶-触发器

MySQL从 5.0.2 版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会 自动 激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。

2023-08-01 15:02:21 145

原创 mysql综合练习&语法总结

mysql练习,mysql语法

2023-07-30 15:44:53 337

原创 计算列-mysql8

mysql8 计算列 字段自动计算

2023-07-30 15:25:30 220

原创 sql-从一个或多个表中向一个表中插入 多行【表数据复制】

INSERT还可以将SELECT语句查询的结果插入到表中,此时不需要把每一条记录的值一个一个输入,只需 要使用一条INSERT语句和一条SELECT语句组成的组合语句即可快速地从一个或多个表中向一个表中插入 多行。2. 更新数据 使用 UPDATE 语句更新数据。

2023-07-30 15:14:00 1676 2

原创 mysql-复制表结构和数据

【代码】mysql-复制表结构和数据。

2023-07-29 21:06:30 109

原创 linux服务器安装redis

linux 服务器 安装 redis

2023-07-28 19:38:20 182

原创 linux系统安装mysql

linux系统安装mysql

2023-07-28 09:43:17 110

原创 拦截器实现登录拦截和跨域问题

什么是拦截器:在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略为什么需要拦截器:在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的。最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情如何用拦截器。

2023-07-26 10:56:25 236

原创 An unexpected connection driver error occured

An unexpected connection driver error occured

2023-06-27 19:52:52 617

原创 学redis这一篇就够了

redis常用五大基本数据类型

2023-06-26 15:37:48 661

原创 mysql时间字段根据当前时间更新

mysql保存行数据时设置默认值为当前时间,更新字段时自动更新为当前时间

2023-06-20 10:10:54 1026

原创 linux下安装rabbitmq及踩坑总结

linux 安装rabbitmq

2023-06-19 20:01:06 1604

原创 elasticsearch语法和整合springboot

elasticsearch-head是一个前端项目,需要node环境,功能是作为一个es可视化界面。个人感觉比kibana更实用,可以看到索引,文档和进行增删改查,效果图如下[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g99xoE3E-1680862475876)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230406180844170.png)]

2023-06-17 16:48:09 266

原创 http://registry.cnpmjs.org/vue-router failed,

http://registry.cnpmjs.org/vue-router failed,

2023-05-12 16:20:15 939

原创 on duplicate key update 更新无效

例如:项目场景:项目使用了sharding分库分表,有不存在则保存,存在则更新的操作需求,所以使用了,但是无效,报错了。用的mybatis-plus。的使用看另外一篇文章。

2023-05-08 14:34:41 2535 3

原创 linux防火墙常用命令

linux 防火墙

2023-05-08 11:03:29 191

原创 linux基本命令

linux常用命令

2023-05-08 10:58:57 1761

原创 linux开关机和目录结构

linux 开关机 目录

2023-05-08 10:27:28 398

原创 mysql实现存在则保存,不存在则更新

mysql实现存在则保存,不存在则更新

2023-04-28 18:33:23 1609

空空如也

空空如也

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

TA关注的人

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