- 博客(14)
- 收藏
- 关注
原创 缓存穿透、缓存击穿、缓存雪崩的原因及解决方案
在value内部设置一个比缓存(Redis)过期时间短的过期时间标识,当异步线程发现该值快过期时,马上延长内置的这个时间,并重新从数据库加载数据,设置到缓存中去。当redis中的大量key集体过期,可以理解为Redis中的大部分数据都清空 / 失效了,这时候如果有大量并发的请求来到,Redis就无法进行有效的响应(命中率急剧下降),也会导致DB先生的绝望。如果从缓存没有查询到数据,则进行互斥锁的获取,获取互斥锁后,判断是否获得到了锁,如果没有得到,当其判断存在的时候就不一定存在。所以有一定的穿透风险。
2025-04-14 16:52:53
791
原创 Docker详细介绍
Docker 是一种开源的容器化平台,旨在简化应用程序的开发、部署和运行过程。它提供了一种轻量级、可移植和自包含的容器化环境,使开发人员能够在不同的计算机上以一致的方式构建、打包和分发应用程序。容器(Container):容器是 Docker 的基本部署单元。它是一个轻量级的、独立的运行时环境,包含应用程序及其相关依赖。容器利用 Linux 内核的命名空间和控制组技术,实现了隔离性和资源管理,使得应用程序在不同的容器中运行不会相互影响。镜像(Image):镜像是用于创建容器的模板。
2025-04-07 18:31:44
2125
原创 消息队列的介绍
消息队列:一般我们会简称它为MQ(Message Queue)。消息队列中间件,很多初学者认为,MQ通过消息的发送和接受来实现程序的异步和解耦,mq主要用于异步操作,这个不是mq的真正目的,只不过是mq的应用,mq真正的目的是为了通讯。他屏蔽了复杂的通讯协议,像常用的dubbo,http协议都是同步的。这两种协议很难实现双端通讯,A调用B,B也可以主动调用A,而且不支持长连接。
2025-04-07 16:28:05
897
原创 mysql锁机制
如果其他事务有更新的话,正在提交的事务会进行回滚。乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让返回用户错误的信息,让用户决定如何去做。当提交更新的时候,判断数据库表对应记录的当前版本信息与第一次取出来的version值进行比对,如果数据库表当前版本号与第一次取出来的version值相等,就进行更新操作,否则认为是过期数据,正在提交的事务会进行回滚。
2025-03-30 14:44:20
1861
原创 外卖项目要点
反射是一种在程序运行时检查和操作类的机制,通过获取类的信息并动态调用方法、创建对象等。这种机制让程序能够在运行时根据需要动态地获取和操作类的结构和成员。获取 Class 对象 程序通过类的全限定名、对象的getClass()方法或 .Class 语法来获取对应的Class对象。查询类信息 通过Class对象获取类的信息,包括类名、包名、父类、实现的接口、构造函数、方法、字段等。
2025-03-29 21:57:12
651
原创 SpringAOP
用来区分插入和更新操作//更新操作UPDATE,//插入操作INSERT@Aspect@Component(1)使用@Aspect声明该类是一个切面类,以此来使用相应的方法(2)使用@Component将其加入spring容器管理@Aspect@Component//切入点。
2025-03-27 21:59:47
787
原创 什么是反射
反射是一种在程序运行时检查和操作类的机制,通过获取类的信息并动态调用方法、创建对象等。这种机制让程序能够在运行时根据需要动态地获取和操作类的结构和成员。
2025-03-24 22:17:35
300
原创 Nginx
反向代理是指服务器接受客户端的请求,然后将请求转发给后端服务器,并将后端服务器的响应返回给客户端。反向代理隐藏了服务器的真实身份和位置信息,客户端只知道与反向代理进行通信,而不知道真正的服务器。正向代理是客户端发送请求后代理服务器访问目标服务器,代理服务器代表客户端发送请求并将相应返回给客户端。正向代理隐藏了客户端的真实身份和位置信息,为客户端提供代理访问互联网的功能。nginx 反向代理,就是将前端发送的动态请求由 nginx 转发到后端服务器。
2025-03-23 21:58:58
204
原创 【无标题】
Redis存储是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型。字符串string,哈希hash,列表list,集合set,有序集合zset(sorted set)。哈希:在value里面又分为field和value。比较适合存储对象,包括属性和值。列表:类似于一个队列,有顺序,按照插入顺序排序,可以有重复元素。可以存储跟顺序有关系的。集合:无序集合,没有重复元素。可以运算交集或者并集。有序集合:集合中每个元素关联一个分数,根据分数升序排序,没有重复元素。
2025-03-22 16:26:03
244
原创 nginx反向代理
下图是nginx的配置文件,它监听的是81端口,服务器名是本地(http://localhost:81)。如果匹配到api字符串(http://localhost:81/api),就转发到proxy_pass对应的地址(http://localhost:8080/admin)。如果后面还有字符串就拼接到目标地址后面(http://localhost:8080/admin/employee/login)。proxy_pass 该指令的作用是设定转发的目的地,其后跟的是转发的目的地址。
2025-03-22 15:25:42
380
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人