自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gateway路由谓词工厂

Gateway路由谓词工厂是一个用于定义路由规则的组件。它允许开发人员根据请求的不同属性(如HTTP方法、请求头、查询参数等)将请求导向不同的处理程序或行为。通过使用Gateway路由谓词工厂,我们可以根据具体的需求动态地配置、调整路由规则,实现更加灵活和可扩展的应用程序架构。Gateway路由谓词工厂是一个强大的工具,可以帮助我们定义灵活的路由规则。通过使用它,我们可以根据请求的不同属性将请求导向不同的处理程序或行为,从而实现更加灵活和可扩展的应用程序架构。

2023-07-14 23:35:08 90 1

原创 限制进入系统的请求在1w之内的限流设计方案

在现代的应用程序中,为了保护系统免受过高的请求负载以及拒绝服务攻击的影响,限制进入系统的请求是至关重要的。本文将介绍一种在1w(1万)之内限制进入系统的请求的限流设计方案,帮助开发人员有效控制系统的负载,保持系统的可用性和稳定性。限流是一种调节系统流量的方法,通过限制进入系统的请求数量,确保系统能够处理和响应这些请求,在不超出系统负载极限的情况下保持正常运行。如果令牌桶为空,则拒绝请求并返回错误信息。2.1 初始化令牌桶:在系统启动时,初始化一个容量为1w的令牌桶,每秒往令牌桶中添加固定数量的令牌。

2023-06-25 18:55:47 109 1

原创 JVM中最大可创建的Java对象数量以及如何扩展堆和栈的大小

在JVM中,堆和栈是两个重要的内存区域,用于存储Java对象和方法调用的临时数据。本篇博客将探讨JVM中最大可创建的Java对象数量,并讨论如何调整堆和栈的默认大小以满足应用程序的需求。堆和栈的默认大小由JVM实现和操作系统决定,但可以通过相应的JVM参数进行调整。增加堆和栈的大小需要注意可用内存的限制和应用程序的实际需求。因此,对于JVM最大可创建的Java对象数量,重要的是关注可用内存的大小和有效的堆内存管理。在某些情况下,应用程序可能需要更大的堆和栈空间来处理更多的数据量或复杂的计算。

2023-06-20 16:39:00 436 1

原创 redis的问题合集

这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。第二程序扩展性变差:用户认证后,服务器做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须在这台服务器上才能拿到授权的资源,这样在分布式的应用上,相应的限制了负载均衡器的能力,也就意味着限制了扩展的能力。redis缓存可以理解为:由于原有的缓存失效,新缓存未到期间,原本应该访问缓存的请求都去查询数据库了,而对数据库cpu和内存造成的巨大压力,严重的会造成数据库宕机,从而形成一系列的连锁反应,造成整个系统崩溃。

2023-06-18 22:41:28 88

原创 Redis 数据过期策略

Redis 的数据过期策略,包括惰性删除和定期删除机制。了解这些策略对于应用程序的性能优化和存储空间管理至关重要。通过合理配置过期策略和根据场景来使用过期功能,开发人员可以最大程度地利用 Redis 的优势,并针对具体应用需求实现数据的自动过期和有效管理。Redis 是一个高性能的键值数据库,它提供了灵活的数据过期策略,以帮助开发人员优化性能并节省存储空间。本文将详细介绍 Redis 的数据过期策略,包括过期键的删除机制、过期策略的配置和适用场景等内容。

2023-06-15 20:19:10 122 1

原创 redis内存用完了会发生什么?

不过,如果 Redis 有一些内存泄漏问题或没有正确释放一些内存,这将导致 Redis 的内存使用量不断增长,最终耗尽内存。如果 Redis 中存储的数据和命令占用的内存超过了 Redis 实例服务器所具备的内存容量,就会导致内存用尽。然而,当 Redis 内存用尽时,会发生什么?Redis 停止对新数据的处理:当 Redis 达到内存限制时,它将停止处理新命令或写入新数据,从而影响数据库的正常运行。数据量过大:Redis 内存用尽最常见的原因就是存储的数据量过大,导致 Redis 内存耗尽。

2023-06-15 00:08:49 683 1

原创 深入了解redis持久化策略

综上所述,RDB 适合需要快速、简单而又经济的数据恢复的应用场景,而 AOF 则适合需要灵活的数据一致性和高可用性的应用场景。当然,在实际情况中,您经常会发现需要同时使用两种持久化方式,以获取更好的性能和保护。Redis 持久化策略的性能测试和优化:根据具体的使用情况,您可以使用 Redis 的持久化测试工具和数据恢复工具对性能进行优化和测试,以获得更高的性能和更好的可靠性。您需要了解 RDB 和 AOF 的内部机制,数据写入和写出的过程、触发方式、优化策略等,以更好地使用 Redis 的持久化功能。

2023-06-13 23:53:24 33 1

原创 redis 是单线程的如何保证其速度?

Redis 是一个基于内存且支持多种数据结构的高性能 NoSQL 数据库,而其之所以能够在许多应用场景中成为首选的数据库,是因为 Redis 在设计之初就非常注重性能。Redis 在应用性能优化中采用了许多与众不同的技术,其中一个值得关注的点是它是单线程的,但是在单线程的情况下,Redis 又是如何保证其速度?

2023-06-12 22:53:34 54

原创 redis 、mysql数据库每秒的访问量

其每秒的访问量取决于实例的硬件配置、业务需求和性能优化等因素。总体来说,每秒访问量是我们优化 Redis 和 MySQL 性能的参考指标之一,把握好每秒访问量的大小可以更好地优化数据库性能。(1)Web 应用程序缓存:通常访问量较高,大约在 10 万次 - 100 万次/秒之间,取决于缓存值的大小和更新频率等因素。(2)商业应用程序:每秒访问量可能在几百到数千次/秒之间,取决于数据量、复杂度和 I/O 能力等因素。(3)数据库设计:优化查询语句结构、增加索引和选择正确的数据类型等技巧来提供更好的查询性能。

2023-06-12 22:49:23 537

原创 springbboot的默认缓存方案:(@Cacheable;@CachePut;@CacheEvict)

默认情况下,Spring Boot的缓存方案是无需任何配置直接使用内置的缓存管理器(ConcurrentMapCacheManager)作为缓存提供者,将缓存存储在JVM的内存中,不需要任何外部依赖。key表示缓存的键,用于标识找到缓存结果的唯一性;@Cacheable注解用于声明方法的返回值是可缓存的,当下次调用该方法并传入相同的参数时,会直接返回缓存中存储的结果,而不执行方法体中的逻辑。与@Cacheable不同的是,它每次都会执行方法体中的逻辑,并将执行结果存储到缓存中,而不是从缓存中读取结果。

2023-06-09 23:05:46 379

原创 linux常用指令: chmod和grep的含义以及使用方法详解!

chmod是Linux常用指令之一,它可以用于更改文件或目录的访问权限。在Linux系统中,一个文件或目录可以分别设置三种权限(读、写、执行)给三个用户组(用户、用户组、其他人)。grep是Linux中的另一个常用指令,它用于在文本中查找指定的字符串。表示要设置的权限,可以是数字或字母。,分别对应读、写、执行权限,对于没有权限的位置则用。例如,在当前目录下的所有文件中查找所有包含字符串。,分别表示用户、用户组、其他人、所有人,后跟。表示通配符,表示在当前目录下所有文件中查找。表示要查找的字符串,

2023-06-08 23:26:02 203 1

原创 Spring框架中含有的设计模式有哪些?

文章主要写了工厂模式和单例模式两种模式的用法

2023-06-08 00:11:40 49 1

原创 如何理解PO\POJO\DTO\VO的含义和用途(小白看完都能学会的)

当远程调用一个远程对象时,例如用 RMI 通信,由于这个对象需要在网络上传输,该对象必须是可序列化的,DTO 对象通常是一个可序列化的 Java 对象,包含了需要传递到另一个进程或计算器上的数据以及方法名称对应的参数。DTO 不同于 PO,在传输时需要指定需要传输的属性,而且 DTO 经常用于服务层和表现层之间的数据交互,用于解耦,为系统的负担带来了一定的缓冲。PO 通常是一个纯粹的 Java 对象,它就是一个简单的 Bean,PO 中的属性以及属性类型对应着数据库表格中的字段。

2023-06-06 23:26:18 134 1

原创 如何手动构建spingboot项目

第五步:在resources下面创建config包和mappers包,用于存放yml文件和.xml文件(下面是文件里面最基本的一些配置,仅供参考)第四步:创建一个用于启动的项目的启动类(这里是App,包括里面的一些所需要的配置,仅供参考)首先在service层进行操作(快捷键:alt+enter(根据个人设置情况))第六步:完成controller层的代码(仅供参考)第二步:导入依赖(下面是我所需要的依赖,仅供参考)第一步:首先创建一个maven项目(以搜索为例)下面是生成类里面的一些配置(仅供参考)

2023-06-05 23:15:20 47 1

空空如也

空空如也

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

TA关注的人

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