- 博客(20)
- 收藏
- 关注
原创 Redis集群
记得,如果你使用的是云服务器,记得一定要开端口,而且要清楚需要开那些端口,哪怕漏了一个都会导致服务出错,就像上面的,我开了7001但是 没开17001就找了很久的错误,才发现是端口问题。还有就是如果设置了密码,访问数据库就需要携带密码,不然访问会失败。
2025-05-06 19:59:33
744
原创 分布式事务 Seata 如何用?
首先下载seata在这里我在这里徘徊了好久,一度以为我下载做了,因为最新版本都只有源码。而我在网上搜教程时,他们用的都是服务。搞的我半天不晓得怎么用,反正到最后我用到也是,不晓得哪个源码怎么用,看官方文档也是用的。由于我是找了半天才发现有这个东西,所以我下载的并不是最新版,而是。
2025-05-06 19:54:57
2042
原创 在Redis集群下,如何使用Redission做分布式锁
/leaseTime = -1 表示 不使用固定过期,而是走 看门狗续租 机制,默认每 30 秒延长一次,直到显式调用 unlock() 才释放锁。过期时间:即为这个锁设置的过期时间,如果你自己设置的时间 大于 零,那么看门狗机制不会触发。//一旦拿到锁,因 leaseTime = -1 同样触发看门狗续租,直到 unlock() 才释放。完成上面几步,我们就已经配置成功了,接下来我们就可以在项目中用了。等待时间:等待连接的最长时间,在这个时间内,方法,区别在什么已经说啦,,或者不设置,只能是。
2025-05-06 10:03:09
682
原创 当网关集成了Spring Security ,是网关的过滤器先,还是Security 的过滤器先?
当网关集成了Spring Security ,是网关的过滤器先,还是Security 的过滤器先?
2025-04-23 18:33:43
585
原创 Sentinel 如何使用
我一上来就遇到了一个大坑。资源也设置好了 ,配置文件也设置好了,网络上找了一堆资料,全是没用的东西,全是讲,要开启 这个配置,那个配置的。我进入 Sentinel 控制台,服务倒是有,就是簇点链路什么的都没有。看 Sentinel 的日志,发现一直都是连接超时,连接的是一个我定睛一看,这不会是我的 局域网 IP 吧,结果还真是。我将我的 局域网本地 ip 发送给 sentinel,sentinel要对这个ip的指定端口进行监听,可是就是连接不上。
2025-04-19 21:10:05
709
原创 OpenFeign 如何使用?
使用OpenFeign的具体流程,一些小细节,我学习过程中遇到的相关问题。明明我代码和配置没有任何问题兜底回调为什么不成功?
2025-04-19 11:34:11
1839
原创 Nacos的配置中心
命名空间,每一个命名空间就对应一套开发环境,我们只需要在后端配置文件中,为每一个开发环境配置好命名空间即可。对于数据隔离,也就是如果我们有多套开发环境,那nacos配置中心也得对应多套开发环境,这里我们就用到了。我最开始以为是加在启动类上的,结果没用,后来才发现哪里用到了就加在哪里。如果Nacos中的配置和后端的配置有重复的,应该哪一个配置生效呢?标签,哪个bean用到了 配置文件中的属性,就要加上这个标签。默认情况下,Nacos 中的配置优先级高,会覆盖本地配置(咱们首先要文件名字要相同,如果不行,
2025-04-18 20:57:29
680
原创 Open Feign统一处理返回
之前为什么我的代码有问题?我返回的是Result没有携带任何的 信息,所以取data的时候出问题了,因为Java不知道将data转换成什么类型,强行转换也失败。而现在,我们返回的是Result<T>携带了信息T,这使得我们Java知道该将data转换成什么类型。最后,我们为了统一的返回处理,避免赘余的取data数据的逻辑。创建了一个自定义解码器。直接将data中的数据取出来返回。
2025-04-18 20:54:28
913
原创 Spring Security 是如何通过自定义登录过滤器进行用户认证的呢?
我的自定义登录过滤器:@Override//如果request请求是一个json同时编码方式为UTF-//将JSON转为map//将用户名和密码放入 authRequest// principal 是认证的主体信息,通常为 用户名或者用户对象;credentials 是认证的凭证信息,通常为 密码或者其他类似信息//出现IO异常, 放空的用户信息。
2025-04-18 11:21:32
2178
原创 Redis持久化机制详解
Redis可以通过创建快照的方式来获取数据库某一个时间点上的数据,保存的是Redis中的所有数据 哦。创建快照之后,可以对快照进行备份,也可以将快照复制到其他服务器从而创建相同数据的服务器副本,也可以在重启服务器时使用。快照持久化是 Redis 默认采用的持久化方式,在redis.conf配置文件中默认有此下配置:save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,Redis就会自动触发bgsave命令创建快照。。
2025-04-17 13:15:39
899
转载 Redis总结(一)
Redis 是一个基于 c 语言开发的开源NoSQL数据库。Redis的数据是保存在内存中的,所以速度是相当的快。虽然是保存在内存中,但是其支持数据持久化。并且存储的是KV键值对数据。为了满足不同的业务场景,Redis内置了多种数据结构。并且Redis的功能丰富,支持事务,持久化,Lua脚本,发布订阅模型,多种集群方案。同时有非常多的应用。
2025-04-16 19:10:49
727
原创 MySQL日期类型选择建议
MySQL 中时间到底怎么存储才好?Datetime?Timestamp?还是数值时间戳?并没有一个银弹,很多程序员会觉得数值型时间戳是真的好,效率又高还各种兼容,但是很多人又觉得它表现的不够直观。每种方式都有各自的优势,根据实际场景选择最合适的才是王道。类型存储空间日期格式日期范围是否带时区信息DATETIME5~8 字节否TIMESTAMP4~7 字节是数值型时间戳4 字节全数字如 15787076121970-01-01 00:00:01 之后的时间否。
2025-04-16 18:06:27
584
原创 MySql数据库表中字段类型是Json,后端如何将数据保存?
在遇到MyBatis 在映射 JSON 数据时没有找到合适的类型处理器问题时,将需要保存的那个json字段对应的成员变量用一个实体类封装起来,然后通过标签为其选定特定的类型处理器进行转换,这样就可以正确的将 成员变量转换成数据库接受的json类型进行保存。从数据库取出这个字段时,也会通过这个标签正确的将该字段转换成对于的成员变量。当然,可能在某些情况下我们也需要自定义类型处理器,这个就待到以后在研究了。
2025-04-16 17:52:09
329
原创 Mybatis-Plus中Db静态类的使用
以前一直用mapper中的方法对数据库进行操作,其实service继承的IService<T> 类中的方法就可以解决我们绝大部分问题,mapper我个人觉得是在写那种比较复杂的操作时,很有用。使用Db类即可,Db类中有很多方法,但是这些方法大多都需要你提供它一个 Class 类,就像什么所说,你在Db类中提供 B 类的Class,就可以通过Db来获取B的数据。这个,这个就不是 IService<T> 类中的,这里我主要讨论如何使用 IService<T> 类中的各种方法,至于。那就又得用到另外一个方法了。
2025-04-16 17:51:25
335
原创 Linux学习记录(1)
首先,这些都是我学习过程中,自己的理解,可能有很多纰漏,甚至说错了,但是总归这样理解起来并没什么错误,片面了些哈。我设置 命令别名的时候出现了一个问题,就是我的别名是临时变量,无法给 子bash ,重新登录后就又要重新设置。这个时候我们就可以结合上面的那几个学习的文件了,在用户登录是,读取了哪些文件呢?你可以将写在中,这样所有用户,不管你设置没设置别名,这个命令都会执行,帮你设置别名。如果写在~/.bashrc中,那就是你自己的个人设置,只有你自己登录的时候才会执行。这就相当于了一个持久化了。
2025-04-16 17:50:39
550
原创 Java SPI机制
最近发现了一个和API类似的SPI,勾起了我的好奇心,SPI和API有什么区别呢?当是实现方提供了接口和实现,我们可以直接通过调用实现方的接口从而拥有实现方给我们提供的服务,这就是API(Application Programming Interface)。当调用方提供了接口,实现方通过调用方确定的接口规则从而实现这一个接口,这就是SPI( Service Provider Interface)。举一个例子。一根手机充电线,这就是一个API,这个API给我们提供了一个服务,就是给手机充电。
2025-04-16 17:50:08
466
原创 MySQL数据库(四)--三大日志
由于 redo log 和binlog 的刷盘,网上的说法各种各样,这里我们统一用同一种在sql语句执行时,记录redo log 到中,事务提交时将写入到page cache中,然后再根据刷盘策略和时机将page cache中的 redo log 刷盘到硬盘中。在sql语句执行时记录 binlog 到中,事务提交时,将写入到page cache中,在更加刷盘策略和时机将page ceche中的binlog刷入到硬盘中。二阶段提交redo log 首先标记为prepare。
2025-04-16 17:49:16
956
原创 MySQL数据库(三)--索引
不平衡,查找效率特别低,极端条件下和走全表扫描一样。虽然平衡,查找效率也不错,但是范围查找需要多次IO操作,插入删除操作需要左旋右旋,维护开销较大。一种大致的平衡,查询效率较二叉平衡树低,同样范围查找需要多次IO操作,但是插入和删除操作仅需要O(1)次数的旋转和变色。B+树很平衡,根节点到子节点的长度固定,而且子节点保存记录的字段,范围查询只需要找到最小的,然后走列表读到最大的即可,更少的IO次数。按照数据结构维度划分:BTree 索引:MySQL 里默认和最常用的索引类型。
2025-04-16 17:46:44
1006
原创 MySQL数据库(二)--事务和锁
READ-UNCOMMITTED(读取未提交):最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。READ-COMMITTED(读取已提交):允许读取并发事务已经提交的数据,可以阻止脏读,但是幻读或不可重复读仍有可能发生。REPEATABLE-READ(可重复读):对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,但幻读仍有可能发生。SERIALIZABLE(可串行化):最高的隔离级别,完全服从 ACID 的隔离级别。
2025-04-16 17:46:03
876
原创 MySQL数据库(一)
MySQL是关系型数据库,那什么又是关系型数据库呢?关系型数据库,顾名思义,就是建立在关系模型上的数据库。因为数据与数据是有关系的,在我们设计数据库的时候经常有烦恼,如何设计一张表?如:设计一张user用户表,难道我将所有的用户有关的信息都放这张表里面吗?user的订单信息也放这张表?登录信息呢?权限信息呢?这显然是不合理的,就算是一个没学过数据库的学生来说,听起来就不合理。所以我们就需要利用关联来处理,各个表之间是有关系的,利用这个关系将表与表之间关联起来,这就是关系型数据库。
2025-04-16 17:45:22
567
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人