自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MVCC原理解析

对于「读提交」和「可重复读」隔离级别的事务来说,它们是通过 Read View 来实现的,它们的区别在于创建 Read View 的时机不同,大家可以把 Read View 理解成一个数据快照,就像相机拍照那样,定格某一时刻的风景。如果记录的 trx_id 值小于 Read View 中的 min_trx_id 值,表示这个版本的记录是在创建 Read View。如图,我们的事务5可以的两条查询记录,可以根据他们的版本链来逐个分析,最后确定能够访问的版本,如第一个查询可以访问的是2,第二个是3。

2025-05-28 20:31:26 603

原创 SpringAI核心

大模型本身是不具备记忆能力的,想要让大模型记住之前的内容,唯一的方法就是把之前的内容和新的提示词一起发给大模型首先认识一下大模型的三个基础配置1.Systemsystem就是用户给大模型设置的一个背景,例如让他以一个医生的视角来进行回答2.useruser就是用户向大模型提问的记录assistant就是大模型根据用户user来做出的回答user和assistant就是message的组成。

2025-05-24 16:52:12 930 1

原创 Redis可重入锁原理

由于锁的结构发生了变化,原先的锁是基于stringNx性质的互斥锁,因此我们的逻辑也要发生变化。由于有两个值需要记录,所以我们可以用Redis里的Hash结构来储存数据。Redis可重入锁是可以让一个线程重复获取同一把锁,要实现可重入锁,首先要明确锁要记录什么数据。我们可以通过Lua脚本实现这段逻辑。

2025-04-14 14:11:26 219

原创 分布式锁解决集群下发生的并发问题

如,在线程1完成业务后判断锁是自己的,在释放锁的时候,遇到了阻塞,如果超过了锁持有的时间,就会超时释放锁,此时线程2就可以得到锁,在执行业务的时候,线程1阻塞完成,释放了锁。,再来一个线程3,由于锁被释放了,所以线程3能够正常后去锁和执行业务,此时发生了线程2和线程3并行执行的情况,此时可能会发生线程安全问题,我们的锁意义就没有了。同时我们用非阻塞的方式来保证执行效率。,等线程1完成业务后,会执行释放锁的操作(前面我们设置的),但是锁此时在线程2上,这时线程2就会直接释放锁,

2025-04-08 23:27:56 822

原创 使用RedisTemplete的一些注意事项

我们在java中一般要使用redis,就可以使用工具类RedisTemplete来进行对redis数据的配置首先是配置基本信息导入依赖以后就可以使用RedisTemplete了但是使用时还是有很多需要注意的点的。

2025-04-05 21:40:40 256

原创 缓存雪崩,缓存击穿及解决方法

缓存雪崩是指在同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力给不同的key的TTL添加随机值(解决同时失效)利用Redis集群提高服务的可用性(确保宕机后的可用性)给缓存业务添加降级限流策略给业务添加多级缓存核心是缓存无法使用导致数据库压力增大缓存击穿问题也叫热点KEY问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效,无数请求会在瞬间给数据库带来巨大的冲击互斥锁逻辑过期互斥锁:解决高并发,但是会互相等待,耗时高,性能差。

2025-04-05 21:05:45 672

原创 缓存穿透及其解决方法

缓存穿透是redis使用过程中可能会出现的一种情况。

2025-04-02 20:07:54 253

原创 使用Redis进行验证码登录

先写一个拦截器,基本业务是:在每次请求处理之前获取session里的用户,如果用户不存在,也就是在之前的登录中没有登录,即没有存入用户信息,就进行拦截,返回401。在controller中定义方法,传参为前端的手机号和session,其中session是储存信息的容器,可以实现存储用户,手机号等信息。然后发送验证码可以利用阿里云来对手机号进行发送,但是我们主要讲逻辑,就不实现这个功能了,直接用日志将验证码打印过来。我们之前已经实现了发送验证码的功能,我们只需要修改存储验证码到session这个功能即可。

2025-03-30 22:32:36 828

原创 使用SpringDataRadis配置连接池

如果是本地部署redis就在host填上localhost,如果是虚拟机就填上宿主机地址。使用spring框架下的redis连接池可以有效快速地配置连接属性。随后在idea配置文件。首先在项目中引入依赖。

2025-03-25 16:46:50 218

原创 Jedis基础配置和使用

我们可以使用java代码来控制redis的数据元素,以Jedis为例,我们在idea中创建一个测试类来测试使用jedis来控制redis元素,首先将redis连接,我们以在虚拟机中开启redis后并连接。运行后可以看到返回的日志,当set成功元素后,就会返回一个ok,我们用result接收。我们有了这个类和静态方法后,就可以不需要new对象就可以直接使用Jedis了。最好的方式是使用Jedis连接池来代替这种直连的方式。首先在项目的pom文件中引入redis依赖。我们引入redis.clients依赖。

2025-03-24 13:30:42 248

原创 使用虚拟机拉取镜像失败的解决方法

显示我们拉取失败,一般是使用的镜像源导致的,我们把镜像源更换成国内阿里源即可。当我们使用虚拟机拉取docker或者yum源的时候,可能会出现以下错误。使用如上代码 ,把镜像源换成阿里云镜像,就可以拉取镜像了,如图下载gcc。以上就是对于CentOS7在拉取镜像时的错误解决方法。以CentOS7为例。

2025-03-23 15:57:37 273

原创 微服务笔记

这段简洁的代码就代替我们实现了如下功能在定义好了接口后,我们就可以直接在请求类中注入并使用方法来获取数据了就解决了上述的复杂操作了。

2025-03-20 21:18:03 1813

原创 虚拟机因为内存不足而导致的一些问题

今天在写黑马的天机学堂的时候,因为虚拟机非常吃内存,原本8g的内存吃了7G多,导致很多服务后续想开启的时候开启一段时间后自动又关了,而且有些服务无法访问,如git和nacos网关,访问时要么访问超时要么填写密码显示密码错误,此时我们把虚拟机的内存提高点重启就可以解决了。

2025-03-20 21:17:16 118

原创 Docker学习笔记

我们刚才的nginx和mysql镜像都是由官方制作并上传的,我们自己开发的java应用后面哟啊进行部署也需要镜像,这个时候就需要我们自己去定义一个镜像如果我们要运行java应用,需要准备什么条件--就是jre,jre同时通过jvm编译,但是不同系统的jre不同,所以我们要考虑到系统不同的兼容性我们直接把所需要的运行环境准备好,准备好所有函数库,再安装jre配置号环境变量,然后拷贝jar包,编写运行脚本,最后打好包就准备好镜像了。

2025-03-03 15:13:11 1692

原创 MybatisPlus学习笔记

我们直接使用UserMapper根据指定方法查询即可,不需要手写方法我们可以利用MybatisPlus的Wrapper来构建复杂的Where条件,然后自己定义sql语句中剩下的部分我们先定义wraper方法:如图in语句直接取代了foreach的复杂判断但是mp适合编写复杂where判断语句,如果是要将balance改为动态地赋值就要在业务层去拼接sql语句,就违反了开发规范所以我们一般将mp擅长的where构建让他去做,剩下的sql我们来写这个传递过程我们应该如何去做。

2025-03-01 13:18:54 1660

原创 关于jwt令牌的一些小总结

generateJwt(Map claims): 接受一个claims参数,类型是Map,表示JWT的第二部分负载(payload)中存储的内容。根据上面的代码,最主要的是生成jwt令牌时使用的生成算法,例如如图使用的是HS256(根据哈希码生成),则后面的密钥的字节大小要超过256才能正常生成jwt令牌.addClaims(claims): 向JWT中添加负载(payload),即传入的claims。signKey: 用于签名JWT的秘钥。

2024-10-20 14:24:54 319

原创 Idea配置mybatis数据库连接池,在Resource的application引入依赖乱码怎么解决

导致对中文的属性文件的编码出现错误,此时只需要在File->Settings->Editor->File Encodings中把属性默认编码改成utf-8即可。如图,在导入依赖时中文注释出现乱码而其他正常,这是因为在idea设置里对文件编码格式没有明确。此时,中文编码就恢复正常了。

2024-09-25 00:08:21 229

空空如也

空空如也

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

TA关注的人

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