自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis的数据删除(过期)策略

设置该key过期时间后,我们不去管它,当需要该key时,我们在检查其是否过期,如果过期,我们就删掉它,反之返回该key:对CPU友好,只会在使用该key时才会进行过期检查,对于很多用不到的key不用浪费时间进行过期检查。缺点:对内存不友好,如果一个key已经过期,但是一直没有使用,那么该key就会一直存在内存中,内存永远不会释放。

2025-04-02 15:37:06 460

原创 MySQL与Redis进行同步(双写一致性)

我们当时采用的阿里的canal组件实现数据同步:不需要更改业务代码,部署一个canal服务,canal服务把自己伪装成mysql的一个从节点,当mysql数据更新以后,canal会读取binlog数据,然后在通过canal的客户端获取到数据,更新缓存即可。候选人,延迟双删,如果是写操作,我们先把缓存中的数据删除,然后更新数据库,最后再延时制除缓存中的数据,其中这个延时多久不太好确定,在延时的过程中可能会出现脏数据,并不能保证强一致性,所以没有采用它。①使用MQ中间中间件,更新数据之后,通知缓存删除。

2025-04-01 15:34:57 521

原创 Redis缓存三兄弟——穿透、击穿、雪崩

当然是有缺点的,布降过滤器有可能会产生一定的误判,我们一般可以设置这个误判率,大概不会超过5%,其实这个误判是必然存在的,要不就得增加数组的长度,其实已经算是很划分了,5%以内的误判率一般的项目也能接受,不至于高并发下压倒数据库。缓存击穿的意思是对于设置了过期时间的kev,缓存在某个时间点过期的时候,恰好这时间点对这个Key有大量的并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把DB压垮。:缓存空数据,查询返回的数据为空,仍然把这个空结果进行缓存。

2025-03-31 15:27:51 1036

原创 SpringBoot的文件上传到本地

/将接收的文件转存到磁盘文件中。//获取接收到的文件内容的输入流。//获取文件的大小,单位:字节。//获取文件内容的字节数组。后端MultipartFile。

2025-03-20 19:12:59 119

原创 SpringBoot开发环境的热部署

在实际的项目开发调试过程中会频繁地修改后台类文件,导致需要重新编译.重新启动,整个过程非常麻烦,影响开发效率。Spring Boot提供了spring-boot-devtools组件,使得无须手动重启SpringBoot应用即可重新编译、启动项目,大大缩短编译启动的时间。devtools会监听classpath下的文件变动,触发Restart类加载器重新加载该类从而实现类文件和属性文件的热部署。

2025-02-27 18:21:21 206

原创 Vue.js入门精要

构建用户页面渐进式 框架1.:基于数据动态渲染页面2.:循序渐进的学习3.:一套完整的项目解决方案,提升开发效率⬆。

2025-02-26 11:59:45 485 1

原创 定位签到(员工打卡)SpringMVC+JSP

只有在指定的范围内进行签到。

2025-02-25 17:41:04 208

空空如也

空空如也

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

TA关注的人

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