- 博客(427)
- 资源 (1)
- 收藏
- 关注
原创 老大2024年12月17日 甲流
12月15号晚上9点半头疼,12月16凌晨1点摸着发烧,测38度,早上起床38度头疼喝了美林,下午3点发烧39度喝了美林。晚上8点半38.5喝了美林。12月17凌晨2点半发烧39.2,喝了5ml美林。12月16号夜里12点喝了奥司他韦,12月17早上8点39.8,喝了美林。1点30 39.7。,早上9点吃了奥司他韦。下午4点半吃了福速达。
2024-12-17 16:41:19
259
原创 linux centos 安装redis
如果你希望 Redis 在系统启动时自动启动,可以创建一个系统服务。make时报错,因为需要安装gcc,gcc安装需要联网安装。重新加载 systemd 配置并启动 Redis 服务。nano命令centos不支持。创建 Redis 的 systemd 服务文件。验证 Redis 服务状态。手动启动 Redis。在文件中添加以下内容。
2024-11-07 16:02:38
427
原创 在 Spring Boot 中为 MyBatis 添加拦截器
在 Spring Boot 中为 MyBatis 添加拦截器以实现分表查询涉及几个步骤。以上步骤展示了如何在 Spring Boot 项目中实现和配置一个用于分表查询的 MyBatis 拦截器。通过自定义拦截器,你可以在 SQL 执行之前对 SQL 进行修改,以实现复杂的分表逻辑。在 modifySqlForSharding 方法中实现具体的分表逻辑。确保拦截器正常工作,可以编写测试用例或者在应用中运行,观察 SQL 执行的结果是否符合预期的分表规则。使用 application.yml 注册。
2024-08-23 16:07:56
1317
转载 MySQL大表添加索引
之前遇到过一个需求需要从一个拥有100W+数据的表中查询数据,但是给定的条件并没有添加索引,所以SQL查询的效率并不是很高。因此需要给这个字段添加索引,MySQL加索引会锁表,百万数据的表的话,耗时也要数秒时间,在这期间对业务可用性肯定会有一定影响。将原表(此时原表表明已经是临时表了)指定时间(看第2步)之后的数据插入复制表(此时已经更名为原名)因为我们提前把表中绝大多数据copy到了复制表,然后在进行表的更名,更名时间成本是比较低的。这种方式的好处就在于对生产的影响时间是比较短的,影响的范围也是比较小。
2024-08-09 09:35:37
384
原创 mysql 日志爆满,删除日志文件,定时清理日志
今天发现网站不能正常访问,于是登陆服务器查找问题。机智的我随手用命令:df -l 发现 硬盘爆满了,于是就知道问题所在了。然后通过命令 du -sh * 一路检查,发现mysql的日志文件占据了大部分空间 , 整整27G,于是现在的任务就是清理mysql的日志文件(主要是清理.log文件和mysql-bin.00000X二进制日志文件)
2024-08-08 16:26:38
2338
原创 mybtais plus查询
package com.baomidou.mybatisplus.core.mapper 和package com.baomidou.mybatisplus.extension.service.impl 有啥区别那怎么选择使用哪个做查询操作综上所述,根据具体项目的需求、团队的技术栈和开发效率的考量来选择使用 com.baomidou.mybatisplus.core.mapper 或 com.baomidou.mybatisplus.extension.service.impl 进行查询操作。p
2024-07-16 11:25:41
368
原创 IDEA全局搜索和替换指定内容
idea默认快捷键ctrl + r: 当前文件内容替换,指的是在当前打开的文件中替换匹配的字符,只操作一个文件。(有一个上箭头,下箭头,可以点击选择性替换当前文件的内容数据。点击replace则是替换显示高亮的内容)idea默认快捷键ctrl + shift + r,默认在路径中替换,指的是在选定的目录下或者类包下,查找要被替换的字符(搜索结果这里可以选择某一条数据替换,点击Replace则是替换蓝色背景的这一条数据)1.全局替换:ctrl + shift + r。2.当前文件内容替换:ctrl + r。
2024-06-13 10:29:39
6390
原创 mysql select * from student where age not in(23,24) 会把age等于null的数据筛选掉吗
在 MySQL 中,使用 NOT IN 子句进行筛选时,如果 age 字段包含 NULL 值,它不会被包括在查询结果中。这是因为在 SQL 中,与 NULL 进行比较时会得到未知(UNKNOWN)的结果,而不是 true 或 false。在 MySQL 中,使用!=操作符来筛选数据时,如果age字段包含NULL值,它也会被排除在结果之外。这是因为在SQL中,与NULL进行比较时会得到未知(UNKNOWN)的结果,而不是true或false。这样可以确保包括 age 为 NULL 的行在结果中。
2024-06-13 10:25:36
302
原创 在MongoDB中,您可以通过以下步骤来创建账号密码,并限制其在特定数据库上的访问权限
现在,您已经成功地为MongoDB数据库创建了一个带有用户名和密码的用户,并且限制了该用户在特定数据库上的权限。这将在admin数据库中创建一个名为adminUser的管理员账号,并为其分配userAdminAnyDatabase角色,该角色具有管理所有数据库的权限。这将在datasever数据库中创建一个名为dataUser的用户,并为其分配readWrite角色,该角色具有读写该数据库的权限。切换到目标数据库: 现在切换到您想要在其中创建用户的目标数据库。
2024-05-30 16:55:02
747
原创 Java是长连接
springboot服务用户的是线程池,返回结果之后,线程自动归还到线程池。一个连接池有10个连接,2个并发会占用2个连接,用完之后归还给连接池。Java是长连接,springboot进程被结束才断开。php是短链接,用完就释放了。
2024-05-29 16:17:53
410
2
原创 使用 MySQL 触发器 + 统计学生表实时计算表数据量
update_student_count_after_delete 触发器在每次从 students 表中删除数据后更新 student_statistics 表中的数据量信息。update_student_count_after_update 触发器在每次更新 students 表中的数据后更新 student_statistics 表中的数据量信息。要使用 MySQL 触发器实时计算表数据量,您可以创建一个触发器,当插入、更新或删除学生表的数据时,触发器就会更新另一个表中保存的学生表数据量信息。
2024-05-29 15:33:12
589
转载 二叉树遍历方法——前、中、后序遍历(图解)
一、前序遍历(1)递归版本(2)非递归版本二、中序遍历(1)递归版本(2)非递归版本三、后序遍历(1)递归版本(2)非递归版本四、总结五、测试程序六、程序输出二叉树的遍历是指按某条搜索路径访问树中的每个结点,使得每个结点均被访问一次,而且仅能访问一次(说明不可二次访问,一遍而过)。遍历一颗二叉树便要决定对根结点N、左子树L和右子树的访问顺序。二叉树常的的遍历方法有前序遍历(NLR)、中序遍历(LNR)和后序遍历(LRN)三种遍历算法,其中 “序” 指的是根结点在何时被访问。
2024-04-23 15:46:26
15743
原创 树 —— 树和森林的遍历
(2)从左到右,依次先根遍历根结点的每一棵子树。(1)从左到右,依次后根遍历根结点的每一棵子树。先根遍历序列为:ABECFHGD。后根遍历序列为:EBHFGCDA。若树非空,则遍历方法为。若树非空,则遍历方法为。
2024-04-23 09:50:08
292
转载 mysql查询中内连接和左连接有什么区别
需要注意的是,内连接和左连接仅是连接操作的两种常见类型,还有其他类型的连接(如右连接、全连接等)。在MySQL查询中,内连接(INNER JOIN)和左连接(LEFT JOIN)是常用的连接类型,它们在连接多个表时具有不同的行为和结果。左连接返回左表(左侧表)中的所有行,以及与右表(右侧表)中连接列匹配的行。另外,使用连接操作时,请确保在连接列上存在适当的索引,以提高查询性能。内连接返回满足连接条件的行,即只返回两个表中连接列匹配的行。如果有多个匹配的行,左连接将返回所有可能的组合。
2024-04-11 10:22:53
131
转载 centos7 在docker中安装mongodb(成功版本)fyf
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase。才能创建,也就是只要创建过一次用户了都需要先auth才能操作,或者也可以把/data/mongo目录全部清空创建新容器(会丢失数据)3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;七、配置mongo的远程访问,在mongo容器里修改配置文件。
2024-03-26 16:43:25
215
原创 centos7 使用docker安装了mongo 怎么设置远程链接,必须使用密码才能连接
将 MongoDB 的 bindIp 配置从 127.0.0.1 修改为 0.0.0.0 是为了允许 MongoDB 监听来自任何网络接口的连接,而不仅限于本地回环接口。这对于需要在不同主机或容器之间进行远程连接的情况非常有用。但需要注意的是,开放到公共网络的 MongoDB 实例存在安全风险,因为未经身份验证的用户可能会尝试访问数据库。从宿主服务器上复制容器内的 MongoDB 配置文件到宿主服务器上,然后在宿主服务器上使用文本编辑器进行修改。修改完配置文件后,再将修改后的文件复制回容器内的相应位置。
2024-03-26 16:36:10
563
原创 为何创建了数据库,但是show dbs不显示
在 MongoDB 中,当数据库中没有集合(collections)时,使用 show dbs 命令可能不会显示刚创建的数据库。这是因为 MongoDB 在创建数据库时并不会立即显示在 show dbs 的输出中,而是直到该数据库至少包含一个集合时才会显示。如果你已经使用 use dataserver 创建了名为 “dataserver” 的数据库,但在使用 show dbs 命令时没有看到它,可以尝试向该数据库中添加一个集合,然后再次运行 show dbs 命令来查看该数据库是否显示。
2024-03-26 14:58:27
1062
原创 centos7的docker安装的mongo,怎么设置账号密码
设置完成后,你就成功在 CentOS 7 的 Docker 安装的 MongoDB 中设置了账号密码。记得将 和 替换为实际的用户名和密码。其中 <container_id> 是 MongoDB 容器的 ID 或名称。输入 exit 退出 MongoDB shell。
2024-03-26 14:27:24
575
原创 SpringBoot整合MongoDB
其中,mongodb://localhost:27017/mydatabase是MongoDB的连接URL,mydatabase是要连接的数据库名称。如果需要更灵活的操作MongoDB,可以使用MongoTemplate来执行原生的MongoDB操作,例如自定义的聚合操作等。创建对应MongoDB集合(表)的实体类,并通过注解标记对应的集合名称、字段等。
2024-03-06 17:18:26
640
原创 lombok——@EqualsAndHashCode(callSuper = true)注解的使用
细心的朋友会发现,在用 log 打印两个对象的时候,toString 方法只打印了子类属性,隐藏了父类属性,这里其实和 equals 方法一样,@Data 注解生成的 toString 方法也只包含了子类自有属性。根据使用过程中,这两个对象肯定是不一样的,但是,在不加 @EqualsAndHashCode(callSuper = true) 注解的情况下对这两个对象进行比较得到的结果却是 true。不加该注解的影响:子类对象属性值一致,但其继承的父类对象属性值不一致,在比较的时候会出现比较结果不对的情况。
2024-03-04 16:24:00
1127
转载 Lambda新特性(一)--ForEach不能修改外部变量
java8 Lambda 新特性在一定程度上提高的代码的稳定性和安全性,而与以往的版本相比,优化的部分并不是简单的套用,需要我一个“坑”一个“坑”的去踩。推荐使用 Lambda提供的Steam流的规约操作,java.util.stream包提供了各种通用的和专用的规约操作(例如sum、min和max)然后写代码依然按照for怎么循环怎么处理,这样是不对的,毕竟语法的书写方式总是跟它的设计方式是吻合的。最近在使用java8提供的Lambda新特性,期间也踩了不少坑,这里记录一下。为什么要禁止修改外部变量?
2024-02-27 15:16:34
573
转载 SpringBoot统一封装返回结果和异常情况
4、添加@ControllerAdvice注解 ,实现ResponseBodyAdvice接口,并重写两个方法,通过判断request中是否有注解标记,如果有就往下执行,进一步包装。3、定义拦截器,拦截请求,判断Controller上是否添加了@ResponseResult注解。如果添加了注解在request中添加注解标记,往下传递。2、自定义一个注解@ResponseResult。1、创建code枚举和返回结果实体类。1、创建code枚举。2、创建返回结果实体。1、创建错误结果实体。
2023-11-20 17:26:03
642
转载 SpringBoot使用注解的方式统一返回接口结果集
7.控制器,用来发送请求,调用业务层获取数据,注意自定义注解是用在类上还是用在方法上,如果用在类上的话,则aop中的切点表达式使用的是@Around(@within(“xxx.xx.class”)),如果用在方法上则切点表达式为@Around(@annotation(“xxxx.xxx.class”))1.创建一个Result类,包含返回的状态码,返回提示消息和数据结果。14.配置application.propertis文件。11.访问结果 ,数据比较多,暂未截完整图。
2023-11-20 17:24:17
403
原创 spring aop应用场景
场景四: 缓存优化 (第一次调用查询数据库,将查询结果放入内存对象, 第二次调用, 直接从内存对象返回,不需要查询数据库 )jdk动态代理是接口的重写(适用于实现接口的类,spring aop的默认实现)场景五: 事务管理 (调用方法前开启事务, 调用方法后提交关闭事务 )场景二: 监控方法运行时间 (监控性能)cglib动态代理是类的继承。
2023-09-07 16:48:02
120
原创 阿里云OSS上传速度优化技巧
使用OSS内网地址:如果应用服务器与OSS服务器在同一地域,则使用OSS的内网地址上传文件可以提高上传速度。设置合适的分片大小:如果上传文件较大,可以将文件切分成多个分片进行上传。使用OSS SDK:使用OSS SDK进行上传可提高上传速度,避免使用HTTP PUT方法进行上传。开启断点续传:开启断点续传功能可以实现在上传过程中断线重连,上传速度可以更加稳定。使用上传加速服务:阿里云提供了上传加速服务,可以优化上传速度,提高上传成功率。压缩上传文件:将上传文件进行压缩可以减小文件大小,提高上传速度。
2023-08-15 09:58:18
1333
原创 Jenkins+Nginx+vue
这样访问vue时,路径匹配prod-api就被Nginx反向代理到http://localhost:6517/;这个端口,这个端口是启动java后的端口。这样就能访问到java的接口。
2023-08-07 18:27:59
774
原创 码云 Gitee + Jenkins 配置教程
对于 PR 工作流,码云服务端已经将 PR 的原分支和目标分支作了预合并,您可以直接构建,如果目标分支不是默认分支(发布分支),您也可以进行上诉构建前合并。码云的 WebHook 管理中选择勾选了 Pull Request 的 WebHook 点击测试,观察 Jenkins 任务的构建状态。码云的 WebHook 管理中选择勾选了PUSH的 WebHook 点击测试,观察 Jenkins 任务的构建状态。Allowed branches 可以配置允许构建的分支,目前支持分支名和正则表达式的方式进行过滤。
2023-08-07 18:15:44
3985
原创 安装Jenkins
一、什么是JenkinsJenkins是一个开源软件项目,是基于Java开发的。我们可以利用Jenkins来实现持续集成的功能。因为Jenkins是基于Java开发的,所以在安装Jenkins之前首先需要安装Java的JDK。二、安装Jenkins在Windows平台上面安装Jenkins共有两种方式,下面分别介绍这两种方式。1、使用msi安装Jenkins安装Jenkins之前首先去Jenkins官网下载安装文件,Jenkins官网:https://jenkins.io/zh/
2023-08-07 17:46:36
2006
原创 批处理文件的@echo off是什么意思?
使显示器停下,并显示“请按任意键继续_ _ _”当年的DOS,所有操作都用键盘命令来完成,@echo off并不是DOS程序中的,当然,“echo off”也是命令,可以把这么多命令存为一个批处理,当你每次都要输入相同的命令时,从此以后,只要运行这个批处理,会依次执行批处理中的每条命令,可以加一个“echo off”而是DOS批处理中的。DOS在运行批处理时,并且会在显示器上显示,如果你不想让它们显示,显示如下图hello1。显示如下图hello2。如果连这条也不显示,就在前面加个“@”。
2023-08-03 18:03:31
430
原创 java与javaw运行jar程序
一、java.exe启动jar程序 (会显示console黑窗口)二、javaw.exe启动jar程序(不显示黑窗口)进程中会显示“myProcess.exe”。
2023-08-03 15:25:56
2074
原创 Jenkins+Pipeline+Gitee本地自动化部署(Windows平台)
https://blog.youkuaiyun.com/xiaouncle/article/details/108635426https://blog.youkuaiyun.com/liqing0013/article/details/98031485https://blog.youkuaiyun.com/legend818/article/details/104148913
2023-08-01 18:15:30
138
原创 redis锁
为何防止1个管理员快速多次点击,数据库主从同步延时,导致:管理员第一次点击时,数据库查询还未开奖,进行开奖,第二次点击时和上次点击查1秒,但是从库数据还是未开奖,导致二次开奖。上述代码实现了1秒只能卖1个,如果1秒进来1000请求,还是1秒只能卖1个。加上锁后,10秒内此奖品只能开一次。
2023-07-12 11:58:11
346
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人