自定义博客皮肤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)
  • 收藏
  • 关注

原创 RabbitMQ的工作模式

消息生产者将消息发送给交换机按照路由判断,路由是字符串(info) 当前产生的消息携带路由字符(对象的方法),交换机根据路由的key,只能匹配上路由key对应的消息队列,对应的消费者才能消费消息,根据业务功能定义路由字符串,从系统的代码逻辑中获取对应的功能字符串,将消息任务扔到对应的队列中,业务场景:error通知;生产者将消息发给boker由交换机将消息转发到绑定此交换机的每个队列,每个绑定交换机的队列都将接收到消息。一.simple模式(最简单的收发模式)五.topic模式(为路由模式的一种)

2023-06-25 19:38:52 197

原创 redis的过期策略

惰性删除策略对CPU时间来说是最友好的:程序只会在取出键时才对键进行过期检查,这可以保证删除过期键的操作只会在非做不可的情况下进行,并且删除的目标仅限于当前处理的键,这个策略不会再删除其他无关的过期键上花费任何CPU时间。惰性删除策略的缺点是,它对内存是最不友好的:如果一个键已经过期,而这个键又仍然保留在数据库中,那么只要这个过期键不被删除,它所占用的内存就不会释放。如果没有过期,就返回该键。定时删除:在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作。

2023-06-25 19:22:26 398

原创 jwt和token

它将用户信息加密到token里,服务器不保存任何用户信息。jwt自身包含用户信息且无法篡改,数据实际保存在客户端,所以我们可以分担数据库或服务器的存储压力。将该令牌存到数据库或redis中,key是uuid,value是用户信息。用户输入用户名和密码,发送给服务器,服务器验证账号密码成功。用户输入用户名和密码,发送给服务器,服务器验证账号密码成功。服务器生成令牌,本质是一个唯一字符串,可以使用uuid。服务器使用签名秘钥生成jwt,把用户id放到jwt中。Jwt是无状态的,如果别人获取到了,别人也能用。

2023-06-19 09:20:12 80

原创 redis的穿透 击穿和雪崩

但是如果缓存整体不能够提供服务,所有的请求,就会到达存储层,存储层的调用量就会暴增,造成存储层挂掉的结果。缓存雪崩的英文解释是奔逃的野牛,指的是缓存层宕掉之后,并发流量会像奔腾的野牛一样,大量涌向后端存储。其实Redis 自身就是单线程操作,多个 client 并发操作,按照先到先执行的原则,先到的先执行,其余的阻塞。缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),此时由于并发用户过多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。

2023-06-19 09:15:00 101

原创 mysql和redis的区别

由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis用于存储使用较为频繁的数据到缓存中,读取速度快,基于内存,读写速度快,也可做持久化,但是内存空间有限,当数据量超过内存空间时,需扩充内存,但内存价格贵。如果没有过期,就返回该键。mysql用于持久化的存储数据到硬盘,功能强大,速度较慢,基于磁盘,读写速度没有Redis快,但是不受空间容量限制,性价比高。

2023-06-13 00:33:31 668 1

原创 linux的常用操作指令

模式可以使用数字或符号来表示,其中数字表示法的格式为"rwxrwxrwx",分别表示文件所有者、文件所有者所在的组、其他用户的权限。其中,"r"表示读权限,"w"表示写权限,"x"表示执行权限。符号表示法的格式为"[ugoa][+-=][rwx]",其中,"u"表示文件所有者,"g"表示文件所有者所在的组,"o"表示其他用户,"a"表示所有用户。"+"表示添加权限,"-"表示取消权限,"="表示设置权限。例如,"+r"表示添加读权限,"-w"表示取消写权限,"=x"表示设置执行权限。

2023-06-09 09:20:59 62 1

原创 VO、DTO、BO、DO、PO、POJO、Entity的概念、区别和应用

DTO 主要用于解耦应用中不同模块之间的耦合度。DO (Domain Object) 领域对象是指在领域建模过程中直接映射到概念的对象,它反映了业务需求和领域知识的本质,是业务流程中的实体对象。PO (Persistent Object) 持久化对象是用来和数据库表进行交互的对象,通常与数据库中的一张表对应。BO 包含了某个业务流程的全部或部分实现逻辑,可以进行业务操作和处理业务逻辑,具有较强的业务含义。Entity 实体是指在面向对象程序设计中,与概念相对应的真实存在的事物,它可以是一个对象或值对象。

2023-06-06 20:32:26 700 1

空空如也

空空如也

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

TA关注的人

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