- 博客(13)
- 收藏
- 关注
原创 RabbitMq的基本方法使用
后续若有需要,可以更新创建交换机,绑定消息队列等,及注解使用。util的demo中的main方法包含四个使用。这个文件是初始rabbitMq的连接配置工厂。创建队列,消费信息,删除队列,发送消息。安装对应依赖,版本可以去官网对应。
2024-11-28 18:33:10
186
原创 阿里云验证码及认证服务 oauth2
记得保存三大关键信息 client_id 唯一标识id,不会改变,access_token 权限令牌,expies_in 有效时间。3.登录相关信息会保存到session中 所以要将session(随机访问服务器,导致信息存储不同内存不足)问题处理好。方法二、将ip分成找对应的服务器,不再随机访问(访问的ip多少多少归那个服务器或者业务字段来划分等)方法一.、将所有的相关信息放入中间件中存储,统一存储(如redis)单点登录(一次登录,进入多个服务不需要重复登录)(还可以加很多配置,如有效时间什么的)
2024-11-28 18:09:18
260
原创 redis的三个常用问答及解决方案
所有缓存在同一时间失效,恰巧有超大并发数据进行进行查询,缓存没有就会直接所有数据查询数据库导致数据库崩盘。将查询数据库的大量请求进行拦截,放行一个查询,查完并释放锁,让其他人获得锁,就不用查db,查缓存了。精确打击,一个值就要失效了,然后马上来了大量的数据来查询他,缓存没有,也就又是查询db,导致崩溃。许多大量数据查询缓存没有的,然后也会直接查询数据库,导致数据库崩溃。就是查询缓存一定没有的大量数据,导致数据库崩溃。加入随机有效时间,不统一有效时间。缓存可以存null值。
2024-11-28 18:03:59
85
原创 分布式锁和本地锁
分布式锁 大锁 锁所有服务 本地锁 小锁 锁每个服务分布式通过整合redisson来添加 (locke)写锁是互斥锁,有一个锁,就必须等释放完才能进行下一个锁读锁是共享锁读 +读 相当于无锁读+写 等读锁释放完,再进行写锁写+写 相当于阻塞方式写+读 等写锁释放完,再进行读锁本地锁可以通过synchronized来解决当然用整合的springCache更好五个注解解决相关锁的问题 因为这个源码添加的是本地锁。
2024-11-28 18:02:17
232
原创 mybatis-plus因xml有空格导致报错解决
主要是在sql哪里调用 SqlSourceBuilder.removeExtraWhitespaces(boundSql.getSql());在这个包下就可以看到相关的sql是有换行符的(这个sql解析在那暂时没调出来)写一个mybatis plus的拦截器。源码: 当时找错误核心部分。
2024-11-28 17:59:02
217
原创 java操作linux命令 开发环境在windos 生产在linux
this.getCmd()方法就是我的项目部署在linux服务器上进行操作的方法。最重要的在最下面 记得关注查看哦 因为这个可能设计到你的人生转折 🤭🤭。我是通过yml区分开发和生产 也可以通过git分支等待来区分。我的处理是对接口进行加密处理 需要的话我可以提供代码和思路。这样会有注入的风险 一定要做好处理!windos在开发下进行操作linux命令。这样的话直接传命令进去 服务器就会执行啦。万一被注入拼接 rm -rf 你就完啦。首先安装依赖jsch包。
2023-08-25 16:21:08
101
1
原创 在windos操作linux 获取文件夹大小
directory: 这个参数做其他操作可以不用 但是我获取文件大小必须用他 因为本机不支持直接cd。传入参数 command: 你需要执行的命令 例如 cd /home。开发环境(win)及生产环境(linux) 俩个操作linux命令。实在是自己写的遍历方法在文件太多的时候获取大小太慢了。自己写的获取文件大小太慢 就直接通过操作系统来获取。测试代码 这个只支持在任何情况下。
2023-08-16 15:46:48
156
1
原创 将list进行分页处理 公共方法
我用的是mybatis-plus的分页对象 也可以使用自己的分页对象。page.records==返回的参数(list)这里的page 传参主要是 第几页和查询条数。page.current==第几页。page.total==记录总数。page.size==查询条数。
2023-08-14 08:59:32
191
原创 项目实用 java调用k8s
源码: 我将重要方法重写 就能随心所遇的更改任何的路径 就不用考虑请求发送认证的关系(为了展示 这就是我没有改动)可以解决k8s外部相关框架接口 如 tfjob,padd,pytchon等 一个万能api。在工具包最终发送请求时 是拼接路径 例 其中的删除CustomObject方法。如果操作k8s找对应的api太难 就试试我这万能的方法吧。2.万能api 可以创建任何想创建的。
2023-08-09 14:50:19
469
1
原创 mybatis-plus 增加乐观锁
自定义一个异常 被乐观锁限制修改或新增失败时抛出这个异常 进行 重试 (我这里没有进行判断我业务比较简单 ,可以在aop里面进行判断是否是自己抛出的这个异常)这有一个问题 加入@Transactional 注解 重试时 无法第一时间获取最新数据 需要降低事务隔离级别。写一个aop,进行添加失败重试处理(我是通过自定义注解来进行监听的) 例。controller示例 实体类和service自己重新定义。先配置好mybatis-plus开启乐观锁。在你需要作为版本字段里面加入。
2023-05-08 17:56:19
362
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人