自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Gateway谓词工厂

访问/consumer/** 相当于访问访问集群consuner。规定请求头中必须包含那些参数和参数的取值。请求中带指定cookie才可以访问。远程地址,即指定那台电脑能访问。在下列时间 之前才可以访问。在下列时间之间才可以访问。在下列时间之后才能访问。

2023-07-14 23:09:46 162

原创 常用的限流方案

第一,限流方案必须是可选的,没有任何方案可以适用所有场景。第二,限流策略必须是可配置的。

2023-06-25 20:31:32 181

原创 java虚拟机可以创建多少对象

(java堆是java运行时内存最重要的部分,几乎所有的对象和数组都是在堆内存中分配空间。新生代主要存储刚刚产生的对象,如果对象的生命足够长,就把老年对象移入老年代。垃圾回收机制:Java 中的垃圾回收机制负责释放不再使用的对象占用的内存。垃圾回收机制的性能和效率会影响 JVM 可以创建的对象数量。如果系统的可用内存较小,JVM 可以创建的对象数量可能受限。较大的对象会占用更多的内存空间。因此,可以创建的对象数量也受到单个对象大小的限制。堆空间大小:JVM 的堆空间是用于存储对象的主要内存区域。

2023-06-20 20:31:56 148

原创 解决springboot跨域问题

放在方法controller的方法上。

2023-06-20 20:24:24 103

原创 redis常见数据类型

列表(List):列表是一个按照插入顺序排序的字符串元素集合。可以在列表的两端执行快速插入和删除操作。有序集合(Sorted Set):有序集合是一个与每个成员关联的分数(score)的集合。哈希(Hash):哈希是一种键值对的集合,类似于关联数组或散列表。集合(Set):集合是一组唯一的、无序的字符串元素的集合。可以对集合执行交集、并集、差集等操作,并且可以快速地添加、移除或检索元素。布隆过滤器(Bloom Filter):布隆过滤器是一种空间效率很高的概率型数据结构,用于判断一个元素是否属于某个集合。

2023-06-18 22:34:45 167

原创 缓存雪崩、缓存击穿、缓存穿透

当大量请求访问redis,redis的key不存在,大量请求打向数据库。个别热点key不起作用。巨大的压力给了数据库的某个数据。在过期时间设置为随机,防止同一时间消失。结论:如果布隆过滤器中没有,则则一定没有,白名单。如果白名单中没有,则对方恶意访问缓存,组织访问。如果布隆返回有—-》不一定正确。如果没有——》结论正确。

2023-06-18 22:28:23 66

原创 jwt的优点

分布式和无状态:由于 JWT 包含了所有必要的信息,服务器不需要在数据库中存储会话信息,也无需在集群中共享会话状态。这使得应用程序可以轻松地进行水平扩展。可扩展性:JWT 是基于标准的 JSON 格式,因此可以通过添加自定义字段来轻松地扩展令牌的功能,以满足特定的应用程序需求。跨域支持:由于 JWT 是通过 HTTP 头或 URL 参数发送的,它可以轻松地跨域传输,并且没有额外的设置或配置需要。无需在服务器端存储会话状态:JWT 令牌中包含了所有必要的信息,减轻了服务器的存储负担和数据库查询的需要。

2023-06-18 22:22:07 519

原创 JWT和session的区别

session是在用户登录之后,给浏览器返回一个sessionid,另外在服务器端同时存储sessionid及必要的用户信息,在用户使用cookie把sessionid传回服务端,服务端基于sessionid去数据库查询,若查到则表示用户还在活跃期,同时也可以获取到存储的必要用户信息。JWT不需要存储,而是在服务端根据前端传回的token进行解密比对处理。都需要使用cookie。

2023-06-18 22:09:11 120

原创 什么是雪花ID

缺点也是有的,就是强依赖机器时钟,如果机器上时钟回拨,有可能会导致主键重复的问题。

2023-06-17 16:35:38 5797

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

Redis在内存存满时会使用内存淘汰策略,LRU算法等进行淘汰。

2023-06-15 17:35:15 130

原创 linux 创建mysql主从关系

--记住 mysql-bin , position。进入master(3306) docker exec -it mysql_3306 bash。进入slave(3310) docker exec -it mysql_3310 bash。在3306文件夹中创建conf文件夹,将my.cnf文件拷贝到conf文件夹里。在 /user/local文件夹下创建3306文件夹,创建文件夹和复制my.cnf文件同上。在mysql中找到my.cnf文件。在my.cnf里添加配置。看到这两yes就成功啦。

2023-06-14 20:15:05 63

原创 扩展redis的持久化策略: RDB,AOF及RDB,AOF 应用的场景。

注:BGSAVE命令是针对SAVE阻塞问题做的优化,Redis内部所有涉及RDB的操作都采用BGSAVE的方式,而SAVE命令已经废弃。Apeend Only File,当达到设定触发条件时,将redis执⾏的写操作指令存储在aof⽂件中,Redis默认未开启aof持久化。缺点:BGSAVE每次运行都要执行fork操作创建子进程,属于重量级操作,不宜频繁执行,所以RDB持久化没办法做到实时的持久化。RDB会创建一个经过压缩的二进制文件,文件以“.rdb”结尾,内部存储了各个数据库的键值对数据等信息。

2023-06-14 08:48:00 80

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

Redis是一个非常快速的开源非关系数据库,是一个内存中的键值数据库。redis读写单线程下每秒可达到2w次。mysql是一种关系型数据库,他的数据存储在硬盘,所以速度会比redis慢,可以达到数千次每秒。当然这也和电脑硬件和具体场景有关。

2023-06-13 08:38:44 196 1

原创 springboot的默认缓存方案

注解在方法上,表示该方法的返回结果是可以缓存的。第一次执行该方法,并将结果放到缓存中,以便于以后使用相同的参数调用该方法时从缓存中取。

2023-06-10 16:29:08 455

原创 CDN是什么?

CDN(Content Delivery Network)指内容分发网络,是一种分散式的网络架构,通过在全球范围内分布的众多节点,将内容分发到用户所在的最近节点,从而提高用户访问网站的速度和稳定性。CDN通常用于网站、视频、音频、游戏等大型内容的分发和加速,其核心思想是利用离用户更近的服务器来提供更快速的响应和更稳定的网络连接。

2023-06-09 22:23:48 72

原创 chmod和grep的使用。

用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限。作用:改变一个或多个文件的存取模式,Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。2,执行时设置用户组ID,用于授权给基于文件所在组的进程,而不是基于创建此进程的用户。4,执行时设置用户ID,用于授权给基于文件属主的进程,而不是给创建此进程的用户。

2023-06-09 08:31:41 71

原创 Spring中的九种设计模式

又叫做静态(StaticFactory Method)模式,Spring中的就是简单工厂模式的体现,根据传入一个唯一的标识来获得Bean对象,但是否是在传入参数后创建还是传入参数前创建这个要根据具体情况来定。

2023-06-08 08:38:54 235 1

原创 mybatis-plus 使用更复杂的模糊查询

2023-06-07 14:44:58 513 1

原创 记录mysql语句错误

我在entity里对属性的命名是desc故sql语句里的别名取的是desc,而desc是保留字,故会报sql语法错误。

2023-06-06 22:16:13 98

原创 PO\POJO\DTO\VO

有时候我们只需要用到表里的几个字段,就可以把他存储到DTO里,如果用这个对象来对应界面显示,那此时它的身份就转为VO。POJO:plain ordinary java object ,简单无规则java对象,只有一些属性和属性对应的setter和getter方法,tostring()方法,PO和VO都可以归为POJO。:persistant object 持久对象,是与数据库中的表相映射的java对象,最形象的理解就是一个PO就是数据库中的一条记录。VO:value object值对象。

2023-06-06 21:45:42 110

原创 手动构建springboot

在不同阶段使用不同的yml文件,在application.yml里指定使用哪个yml文件,这里是开发时故使用dev。下面是application-dev.yml里的配置。6.用main方法启动,如下启动成功。1.选择创建maven工程。2.设置Maven仓库。5.建包并编写启动类。

2023-06-05 19:12:50 102 1

原创 如何挑选索引

也就是说只为出现where,连接子句的连接列(连接列是用于连接两个表的列,它必须是在表之间共享的列,并满足数据类型和内容匹配的要求,否则连接操作将不能成功。),order by 或 group by。像查询列表中的列就没必要建索引了(如select name from person 中的name列)。

2023-06-03 11:07:23 289 2

空空如也

空空如也

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

TA关注的人

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