自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 缓存穿透和缓存击穿

本文介绍了缓存穿透和缓存击穿的概念及解决方案。缓存穿透是指查询不存在的数据导致请求直达数据库,可通过布隆过滤器拦截无效请求或缓存空对象来解决。缓存击穿是热点数据过期引发的数据库压力激增,解决方案包括:1)使用逻辑过期策略,过期时获取互斥锁更新数据;2)采用互斥锁机制,只有获取锁的线程能访问数据库,其他线程等待或返回旧数据。两种方案都通过互斥锁控制并发访问,有效保护数据库。

2025-05-26 11:48:56 341

原创 缓存更新策略(数据库和缓存不一致)

为了节省Redis内存并保持数据一致性,缓存更新策略的选择至关重要。错误策略是先删除缓存再更新数据库,这可能导致缓存与数据库不一致的问题。例如,当线程1删除缓存但尚未更新数据库时,线程2查询数据会获取旧数据并重新写入缓存,导致后续请求都返回旧数据。正确策略是先更新数据库再删除缓存。这样,即使线程1在更新数据库时,线程2查询到旧数据,但更新完成后删除缓存,线程1再次查询时会从数据库获取新数据并更新缓存,确保数据一致性。因此,先更新数据库再删除缓存是更优的策略。

2025-05-16 08:25:42 415

原创 基于Redis实现登录流程

Redis在登录流程中用于解决传统session认证的扩展性和存储压力问题。通过高性能、数据持久化和分布式支持,Redis优化了登录认证。流程包括发送验证码和登录认证:发送验证码时,用户手机号作为key,验证码作为value存入Redis;登录时,校验验证码后生成唯一token作为key,用户信息作为value存入Redis,并返回token给前端。后续请求通过拦截器从Redis获取用户信息并存入ThreadLocal,方便快速访问。这种方式提高了代码的扩展性和维护性。

2025-05-12 08:56:23 477

原创 Dto Vo Po之间的区分

当如果服务以集群的方式进行部署时,那nginx在转发请求到服务器时就需要做相应的负载均衡。其实,负载均衡从本质上来说也是基于反向代理来实现的,最终都是转发请求。调用方法:password=DigestUtils.md5DigestAsHex(password.getBytes());@ApiOperation 用于方法上,说明方法的用途,作用。Po:Dao层中数据库记录映射的java对象。将前端发起的请求动态转发给后端服务器。Dto:数据传输对象,请求传来的对象。Vo:传给前端的java对象。

2024-11-13 17:00:23 325

原创 区间合并详解——超级容易理解版本

查找并合并有交集的区间

2024-03-30 23:47:29 895 7

原创 大一新人驾到

至于以后在哪里工作,那就以后再说啦,说不定以后是销售的一把好手,说不定也是微软员工,嘿嘿,没错,俺想去微软,小米腾讯这些也想啊啊啊啊啊。记录一下,现在是学习c语言的第二个月,第一个月刚学完基础语法就打校赛,结果是二十分钟写出两道签到题,三个半小时看着题目发呆😳,太可恶了。感觉学完一点点就像写题,but没有自己独立刷多少,好多都是随着老师讲的敲,哼,俺一定可以变成大佬。现在报名蓝桥杯,下学期貌似可以参加一下真正的比赛了,看爷拿国一。马上要期中考试了,希望c 语言可以考100分,嘻嘻。

2023-11-28 17:09:05 530

空空如也

空空如也

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

TA关注的人

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