作者: zhoujibin

37 篇文章

MyBatis Plus下实现对MySQL的JSON字段类型的范围查询
业务场景 一条数据需要针对某个字段做特殊的扩展处理,比如:为用户设置某些特定的标签(标签包含排序、代码、名字) 方案对比 多字段存储(不推荐) 在主表中新增tag_sort、tage_code、tag_name,多个标签使用特殊字符分割且存储顺序需要一一对应,示例: tag_sort=1,2,3 tage_code=tall,rich,cool t…
Redis实现分布式锁
什么是分布式锁 分布式锁是一种用于在分布式系统中协调多个客户端对共享资源的访问的同步机制。目标是确保在分布式环境中,同一时间只有一个客户端能够访问或修改某个共享资源,从而避免数据不一致或冲突。 分布式锁的使用场景 资源分配:确保共享资源(如数据库连接、线程池)在分配时不会被多个客户端同时占用。 数据同步:保证多个客户端在访问或修改同一数据项时的一致…
Jenkins实现CI/DI
maven安装 软件下载 # 离线安装,直接下载对应的版本即可 https://maven.apache.org/download.cgi 基础环境配置 注意:此次jenkins、gitlab相关软件都安装在一台机器(192.168.13.247)上,可根据实际情况调整 环境变量 # 解压软件,路径可根据实际情况调整 tar -xv…
JPA的简单使用
简介 JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体[对象持久化](https://baike.baidu.com/item/对象持久化/7316192)到数据库中。 ([来源:百度百科](https://baike.bai…
JPA进阶-实现审计日志
前言 上一篇文章JPA的简单使用 讲了JPA的基本使用方法,也实现了基本的审计日志,但只记录了操作人、操作时间、修改人、修改时间,不太人性化。比如:具体修改了什么信息,误删除的话有没有办法恢复,修改的数据是否能回滚,这些问题在系统实际使用过程中都会遇到。那么,对于简单的新增、修改、删除能不能做到以上几点呢?很显然,完全没问题,来,咱们看看简单的实现…
记一次线上OOM的分析及处理
背景 系统调用外部接口获取数据同步至本地库,无法100%同步成功。 问题定位 查看日志后最终定位到是由于 fastjson 工具类解析 json 文件时由于文件过大到导致OOM。单独调用接口后发现返回的数据量达到了300M。 错误信息: java.lang.OutOfMemoryError: Java heap space at com.aliba…
K8s集群部署
服务器资源 IP地址系统版本说明192.168.13.247ubuntu22.04k8s-maser192.168.13.16ubuntu22.04k8s-worker-1192.168.13.119ubuntu22.04k8s-worker-2 k8s版本 版本kubeadm1.23.5-00kubelet1.23.5-00kubectl1.23…
Ansible实现自动化部署
[TOC] 软件安装 执行安装命令 apt install ansible # 查看版本 ansible --version # 结果 ansible [core 2.16.6] config file = /etc/ansible/ansible.cfg configured module search path = ['/roo…
Docker基础操作
Docker删除镜像 参考:https://blog.csdn.net/lanshen110119/article/details/90201412 有标签 docker rmi $(docker images --format '{{.Repository}}:{{.Tag}}') 没有标签 docker rmi $(docker images …
Linux基础操作集锦
版本相关操作 查看内核版本 cat /proc/version; CentOS查看版本 cat /etc/redhat-release; 查找文件 -- 示例,查找根目录下大于100M的文件 find / -size +100M; -- 根据文件名称模糊匹配文件 find / -name log; 后台启动脚本 参考:nohup &的用法、…