自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

桃桃小鱿鱼的博客

我太弱了 纯记录而已

  • 博客(15)
  • 收藏
  • 关注

原创 springCloudGateway中的断言Predicate如何使用

【代码】springCloudGateway中的断言Predicate如何使用。

2023-07-15 14:12:14 193 1

原创 rabbitmq类型及请求限流方式

具有路由功能的交换机,绑定到此交换机的时候需要指定一个routing_key,交换机发送消息的时候需要routing_key,会将消息发送道对应的队列。很明显,漏桶算法在实现的数据结构会选择有容量限制的队列,请求执行者定期定点从队列取出请求来执行,新来的请求会被暂存在队列中或者被丢弃。一个订单的处理需要10s,有多个订单可以同时放到消息队列,然后让多个消费者同时处理,这样就是并行了,而不是单个消费者的串行情况。3,请求到来时,先从令牌桶中获取令牌,如果取得,则执行请求;如果令牌桶为空,则丢弃该请求。

2023-06-25 19:14:12 238 1

原创 JWT,redis缓存相关面试题合集

session 是服务器存储用户状态的一种方式,通常通过在服务器上创建一个唯一的会话 ID,将用户的身份信息保存在会话中,然后将会话 ID 发送给客户端,客户端在后续请求中携带会话 ID,服务器通过会话 ID 来获取用户的身份信息。这种现象就叫做缓存击穿。每次执行该方法前,会先去缓存中查有没有相同条件下,缓存的数据,有的话直接拿缓存的数据,没有的话执行方法,并将执行结果返回。定时删除 在设置key的过期时间的同时,为该key创建一个定时器,让定时器在key的过期时间来临时,对key进行删除。

2023-06-18 23:04:47 193

转载 Redis 数据过期策略

这种策略可以保证过期的 key 最终都会被删除,但是也存在严重的缺点:每次都遍历内存中所有的数据,非常消耗 CPU 资源,并且当 key 已过期,但是定时器还处于未唤起状态,这段时间内 key 仍然可以用。当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的 Key。命令来设置数据的过期时间。当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的 Key 优先移除。当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个 Key。

2023-06-15 18:21:58 345

转载 Redis内存满了怎么办

Redis长期使用或者不设置过期时间,导致内存爆满或不足,可以到Redis的配置文件redis.conf 文件中,配置参数 maxmemory 的大小。一般的项目maxmemory设置为3~5G就够用了。3 // 设置maxmemory-policy配置为allkeys-lru。通过命令修改,Redis支持运行时通过命令动态修改内存大小。1 // 获取maxmemory-policy配置。1 //设置Redis最大占用内存大小为100M。3 //获取设置的Redis能使用的最大内存大小。

2023-06-15 15:32:55 939

原创 redis mysql性能比较

缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。解决办法过期时间上增加一个范围的随机值,使用Redis Sentinel 和 Redis Cluster 实现高可用,另增设一个寿命更短的本机缓存来解决redis分布缓存抢修时的问题。在发生无论是缓存穿透还是缓存雪崩,都建议使用队列来排队、拒绝大量请求涌入和分布式互斥锁来避免后端数据服务被冲击,防止已有的数据出现问题。

2023-06-13 18:12:53 318

转载 Redis持久化策略

RDB会生成多个数据文件,每个文件都代表了某时刻Redis中的所有数据,这种方式非常适合做冷备,可将这种完整数据文件发送到云服务器存储,比如ODPS分布式存储,以预定好的备份策略来定期备份Redis中的数据RDB对Redis对外提供的读写服务,影响非常小,可让Redis保持高性能,因为Redis主进程只要fork一个子进程,让子进程执行RDB相对于AOF,直接基于RDB文件重启和恢复Redis进程,更加快速RDB缺点。基于全量的持久化就是在某个时刻,将Redis的所有数据持久化到硬盘中,形成一个快照。

2023-06-13 18:00:43 129 1

原创 Spring Boot缓存注解介绍

@EnableCaching注解该注解由Spring框架提供,该注解需要配置在类上(SpringBoot中通常配置在项目启动类上),用于开启基于注解的缓存支持@Cacheable注解 该注解由Spring框架提供,可以作用于类或者方法(通常用在数据查询方法上),用于对方法的查询结果进行缓存存储。 该注解的执行顺序是:先进行缓存查询,如果为空则进行方法查询,并将结果进行缓存;如果缓存中有数据,不进行方法查询,而是直接使用缓存查询。 该注解提供了多个属性: value/cacheNames

2023-06-10 14:54:36 701

原创 spring中的设计模式

面向切面编程能够将和业务无关,但是是业务模块中所共同调用的逻辑或者业务功能封装起来, 比如事务管理,日志管理,权限控制等 有利于减少重复代码,降低模块之间的耦合度,并有利于面向未来的可拓展性和可维护性 使用AOP可以将一些通用功能抽象出来,在需要使用的地方直接使用,这样可以大大简化代码量 需要增加新功能也会更加简单方便,这样可以提高系统的扩展性。当需要修改原有的功能,但是不想直接修改原有的代码,就可以设计一个装饰器Decorator类在原有的代码的外面,这样可以在不修改原有的类的基础上扩展新的功能。

2023-06-07 18:59:39 91 1

原创 POJO,PO,BO,VO和DTO

把一条记录作为一个对象处理,可以方便的转为其它对象。PO是由一组属性和属性的get和set方法组成。PO的属性是跟数据库表的字段一一对应的。PO对象需要实现序列化接口。持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。是只含有get/set方法的POJO。数据传输对象:用于表现层与服务层之间的数据传输对象,它不应该包含业务逻辑。用来传输前端需要的字段,隐藏后端表结构。视图对象:用于表现层,它的作用是把某个指定页面(或组件)的所有数据封装起来。业务对象:封装业务逻辑后的对象。

2023-06-06 17:44:35 117 1

原创 搭建springboot项目(tomcat,mysql)

context-path: /sbDemo --------------修改后请求路径为 【ip地址】:【端口号】/sbDemo。map-underscore-to-camel-case: true ---------开启驼峰对应数据库中和实体类中的字段名称。datasource: --------------数据源配置。port: 8080 ----------------端口号。

2023-06-05 20:13:51 204

原创 VUE封装el-input形成双输入框组件,绑定同一个变量

输入血压,年龄范围等,支持数组和逗号分割两种形式

2022-11-11 17:54:33 4365

原创 VUE 封装动态生成表头表格,单元格动态render渲染el控件,控制隐藏显示列

使用后端数据动态生成一个包含多级表头,合并单元格,列隐藏显示,单元格自定义渲染的表格

2022-11-11 17:49:46 1650

原创 vue config.js中定义变量实现配置化 打包

vue config.js中定义变量实现配置化 打包

2022-06-16 15:58:06 1236

原创 vue中配置化取消axios的重复接口请求

vue中配置化取消axios的重复接口请求

2022-06-16 14:17:39 654

空空如也

空空如也

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

TA关注的人

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