- 博客(134)
- 收藏
- 关注
原创 redis主从哨兵模式+Lua报错-READONLY You can‘t write against a read
项目试用SpringBoot+redisTemplate执行redis的lua脚本,实现令牌桶;redis结构使用的是1主2从3哨兵模式+读写分离;分析执行lua脚本使用从节点原因,并解决执行lua脚本时的读写问题。
2025-02-24 14:51:34
527
原创 Linux_挂载nas
1、安装挂载nas必要的服务,yum -y install nfs-utils rpcbind 2、挂载nas sudo mount -t nfs -o vers=3,nolock,proto=tcp,noresvport :/path/to/shared /yourNasPath 3、设置开机自启动 将步骤2的挂载命令写在脚本中,命名为nas_mount.sh,并设置可执行。
2024-12-13 10:21:29
899
原创 Docker_启动redis,容易一启动就停掉
要保证Docker容器的运行,必须需要一个前台进程一直运行。增加配置 `daemonize no`,改为前台运行,问题解决。
2024-09-14 14:48:45
607
原创 Java8_关于list集合的操作Stream
list的遍历在日常编程中,应用非常普遍,在Java8中,对list集合的操作做了书写上的简化,使代码更简洁。在没有这些以前,我们写list的遍历是这样的i++){或者是这样的要做list的筛选,去重,求差,求并等操作就比较繁琐了,而Java8给我们带来新特性,是我们在做list集合操作时,非常简单。
2024-08-13 16:43:39
613
1
原创 Docker_搭建跨服务器网络通讯(swarm 集群)
1、在主服务器上初始化docker swarm 集群 选择一台服务器,执行初始化命令`docker swarm init` 2、其他服务器节点加入到创建好的集群中 执行完上一步的命令会出现一个`docker swarm join`的命令 3、检验集群是否搭建成功 在主服务中执行`docker info`命令,找到Swarm信息,看到节点的数量已经变成3了
2024-03-08 11:43:11
778
原创 Mysql数据库_max_allowed_packet参数详解
max_allowed_packet参数指的是MySQL服务端或者客户端接收一次传送数据包的最大大小,MySQL服务端和客户端上都有这个限制。max_allowed_packet 最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。通过命令修改时,数值要为字节,不能用M、G单位;使用配置文件方式修改,才可以使用M、G单位。登录到mysql数据库中,或者使用数据库链接工具,执行下述命令。我将本地数据库迁移到远程数据库时,提示我修改这个值。执行下面命令,修改参数值。
2024-03-02 14:58:28
12388
1
原创 Docker_设置docker服务以及容器开机自启
systemctl enable docker.service,显示为enabled时,代表已经开启了开机自启动。容器启动时设置自启动,docker update --restart=always
2024-03-02 12:04:55
1917
原创 docker&docker-copose_限制容器cpu和内存
Docker使用`--cpus`参数来限制容器的CPU资源。该参数指定了分配给容器的CPU核心数量或百分比。使用--cpuset-cpus参数来限制容器可以使用的具体CPU核心,通过使用逗号分隔的CPU编号列表。Docker使用-m,--memory参数来限制容器可使用的内存大小,使用--memory-swap参数来限制容器可使用的内存+交换分区大小。
2024-03-02 11:42:17
1878
原创 Linux_清理docker磁盘占用
docker清理log的方法前面已经描述过了。详细见:Linux_清理docker容器的log这篇写的是如何清理冗余的镜像,容器,构建镜像时使用的缓存空间。
2024-01-21 18:51:26
1151
原创 Linux_Docker修改Docker Root Dir
今天遇到需求,要修改一下docker容器和镜像的存储位置,默认位置为/var/lib/docker目录下,要修改到/new/dockerFile目录下。找到docker配置文件,/etc/docker/daemon.json,如果目录下没有该配置文件,就创建一个。
2023-11-16 14:27:21
1106
1
原创 Linux_安装docker
下载最新版:sudo yum install docker-ce docker-ce-cli containerd.io 下载指定版本:sudo yum install docker-ce- docker-ce-cli- containerd.iocontainerd.io:是Docker容器运行时的核心组件之一,它负责管理和运行容器。
2023-11-16 14:07:30
509
原创 Linux-安装docker-compose
总结了安装docker-compose过程,以及安装过程中遇到的问题和解决方案。一、下载docker-compose。curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose二、给文件可执行权限chmod +x
2023-10-26 19:41:23
1073
原创 java_免费文本翻译API_小牛翻译
网络上对百度,有道等的文本翻译API集成的文章比较多,所以集成的第一篇选择了小牛翻译的文本翻译API。小牛翻译文本翻译API,支持388个语种,对外提供了5个文本相关的接口,有纯文本的,双语对照的接口,文本是xml格式的,还有能够自动识别原语和指定术语词典的。
2023-08-18 18:23:43
821
原创 文本翻译、文档翻译API接口
这几个是我再网上找到的,国内比较好的有API的网站,有百度翻译、小牛翻译、谷歌翻译、翻译狗等等,当然还有些谷歌,bing等有名的翻译平台是因为我个人选择的原因没有研究,大家有兴趣的可以去研究一下。后续再分享一下我怎么集成的教程啦!!~对你有帮助就点个♥赞♥呗~
2023-08-14 15:12:21
807
原创 MyBatisPlus_动态表名
项目中,有一张表数据量很大,需要按月分表,是tableName_yyyyMMdd,这样的表名,但是查询时拼接表名就比较麻烦,然后就使用一下MyBatisPlus的动态表名处理器来解决这个问题,代码书写上非常优雅。MyBatisPlus在3.4.3.2开始对动态表名处理器进行了优化,建议大家使用3.4.3.2以上的版本。其次,创建表名处理类IdTableNameHandler。
2023-07-25 10:12:13
593
原创 Linux_清理docker容器的log
最近发现服务器硬盘空间满了,就排查了一番,发现有docker容器的log文件占用太多,所以要做一下清理。5、进入到某个容器路径下,“容器id-json.log”这个文件就是这个容器的log文件。6、执行 echo "">容器id-json.log,清空文件。首先是要找到docker容器log文件的储存位置。3、发现在/var路径下占用的空间最多。4、进到/var路径下,依次查询,找到。路径,该路径下的文件夹名称,是以容器id来命名的。2、然后去到根目录下,执行。命令,发现根目录满了。找到占用最多的文件。
2023-06-26 14:32:44
1289
原创 Linux_查看硬盘占用情况
du [-abcDhHklmsSx][-L ][-X ][--block-size][--exclude=][--max-depth=][--help][--version][目录或文件]-x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。-X或--exclude-from= 在指定目录或文件。
2023-06-26 14:00:41
3832
原创 Linux_将shell变成可执行脚本
刚写好的shell脚本,文件颜色是白色的,我们要执行的话,需要在脚本前加sh,即。执行完命令后,文件颜色就变成绿色了,可以通过下面的命令执行。如果想将shell脚本变成可执行的脚本,需要执行以下命令。./ 代表的是当前目录。
2023-05-25 10:10:49
1307
原创 Linux_top命令
top命令是Linux系统下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。它是一个动态显示过程,执行该命令后,它展示的信息会将独占前台,直到用户终止该程序为止(可以用Ctrl + C终止)。
2023-05-05 16:50:48
786
原创 docker_查询日志并输出到文件
-since参数的含义是,显示某个时间点后的log信息,也可以是相对于现在多长时间的log信息。想查询一下docker容器内服务的log,但是因为log太多,想自定义筛选一下。但是全部的log太多,我想按照时间进行查询,这就用到了--since参数。但是上面的检索我们没办法定位报错信息的上下文可以用-A -B -C匹配。docker logs 的一些参数,以及参数的含义。运行:docker logs --help 命令。3、按照log中可能包含的字符串,导出log信息。1、导出全部的log到文件。
2023-04-28 15:48:26
6282
原创 docker_docker-compose scale 实现集群部署
启动两个及以上容器,使用到--scale 参数,通过 service=num 的参数来设置数量以设置同一个服务运行的容器个数。docker-compose ps 查看创建的服务,发现启动了两个服务。如果启动两个以上容器,且需要映射端口,那么就要配置端口的区间。在端口映射上,如果我们启动一个容器,那么ports可以。,启动时,会在区间内选用可用的端口。
2023-04-24 13:20:25
315
原创 Linux_用户组
在Linux系统中,/etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。
2023-03-31 18:55:02
449
原创 Linux_创建用户
创建一个名为hello的用户,并指定/home/hello为根目录。设置密码 ,密码会输入两次,一次设置密码,一次确认密码,两次密码要输入的一样。useradd的常用参数含义。创建新用户登录提示“bash-4.2$”。
2023-03-27 10:06:22
533
原创 C#_System.Collections.Generic.KeyNotFoundException
当尝试使用不存在的键从集合中检索键或键值对时,会抛出这样的异常。
2022-12-06 15:09:47
1923
原创 Redis_三种集群模式
如果为no,该插槽数据不能使用了。由于所有的操作都在主服务器上,然后同步到从服务器上,所以同步到从服务器的时候会有一定的延迟,当系统很忙的时候,延迟问题会更加严重,从服务器个数的增加,也会使这个问题更加严重。检测到主机挂掉,选择一台从服务器作为主服务器,另一个从服务器仍然作为从服务器,挂掉的主服务器变成挂掉的从服务器。从服务器连接主服务器的时候,进行的时全量复制,之后就是主服务器主动传递给从服务器增量数据,是增量复制。2、选择偏移量大的,偏移量指的是跟主服务器同步数据的数量,同步的多的,优先选为主服务器;
2022-11-18 11:50:14
205
原创 SpringBoot_根据不同配置调用不同实现类
最近在写一个功能时,一个接口有多个实现,要求在service实现类的调用要根据配置文件进行调整,不同的配置,调用不同的处理方式,下面就写个例子,做一下记录吧
2022-08-22 17:13:58
2043
2
原创 Java_Validation分组校验
在java开发过程中,通常一个对象会在多个接口进行使用,但是每个接口对参数校验的需求不一样,当遇到这种情况,我们可以采用分组校验的方式
2022-08-03 11:46:54
1219
原创 Bug_int和Integer类型的比较报错NullPointerException
那在Integer和int进行比较是,会对Integer类型的值进行自动拆箱,自动拆箱就是调用了Integer的intValue()的方法,由于我写的例子中,Integer类型的值为null,这时候调用intValue()方法,就会报NullPointerException。...
2022-07-14 10:45:23
453
原创 Redis_操作数据的常用命令
一、库相关命令二、Key(键)三、 常用数据类型-字符串 四、常用数据类型-list(列表)五、常用数据类型-set(集合)六、常用数据类型-hash(哈希) 七、常用数据类型-Zset(有序集合)
2022-07-13 16:04:01
2231
原创 POI报错_org.apache.xmlbeans.impl.values.XmlValueDisconnectedException
报错详情:org.apache.xmlbeans.impl.values.XmlValueDisconnectedException at org.apache.xmlbeans.impl.values.XmlObjectBase.check_orphaned(XmlObjectBase.java:1258) at org.openxmlformats.schemas.drawingml.x2006.main.impl.CTTextLineBreakImpl.isSetRPr(Unknown So
2021-10-27 10:11:48
3229
原创 Java_Map常用的遍历方式及性能对比
HashMap为例子:public static void main(String[] args) { //初始化map结构 HashMap<Integer,String> map= new HashMap<Integer,String>(); for(int i = 0;i < 10;i++){ map.put(i, "第"+i+"个元素"); } //第一种方式:
2021-10-19 18:37:12
836
原创 MYSQL_功能检测依赖
一、背景项目换了一个环境搭建,数据库进行了升级。再启动项目时,出现了下列报错。Expression #20 of SELECT list is not in GROUP BY clause and contains nonaggregated column...查询资料得知,是MySQL5.7.5以上的版本默认开启功能依赖检测功能,关闭这个功能就能解决这个报错了。怎么查看是否开启了这个功能呢?执行 select @@global.sql_mode; 命令,得到结果如下含有 ...
2021-08-30 13:27:12
278
原创 Python_连接数据库,导出sql文件(mysql)
使用的是mysqldump命令,进行数据库sql文件的导出import osclass InitSql(object): sql_file = "A.sql" def import_server_db(self): mysqldump_commad_dict = {'dumpcommad': 'mysqldump ', 'server': '127.0.0.1', 'user': 'root',
2021-08-30 11:44:16
2707
原创 SpringBoot_不连接数据库启动
在META-INF/spring.factories 文件中会注册很多自动配置类,其中就包含数据源的自动配置.org.springframework.boot.autoconfigure.EnableAutoConfiguration=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration我们如果不连接数据库启动,需要在启动类中增加配置@SpringBootApplication(exclude = {D
2021-08-05 19:09:52
626
原创 SpringBoot_项目启动不占用端口号
修改application.yaml文件或者application.peropertiesspring: main: allow-bean-definition-overriding: true #选择服务的启动类型,none这个应用不用作web应用 web-application-type: nonespring.main.allow-bean-definition-overriding=truespring.main.web-application-type=n
2021-08-04 15:51:33
1023
原创 docker_基础常用命令
docker最近打算攻克一下,先从最简单的开始总结吧。一、镜像1、创建镜像2、查看镜像3、删除镜像二、容器1、根据镜像创建一个容器2、查看容器3、启动容器4、停止容器5、删除容器...
2021-08-02 17:27:10
167
原创 docker_镜像或者容器跨服务器迁移
1、如果是容器,就要先将容器提交成镜像,再做迁移如果是镜像,可以直接进行第2步docker commit -m="这里是描述信息" [容器名称或id] [自定义的镜像名称]2、save本地镜像docker save -o images.tar imagesName:imagesVersion或者docker save > images.tar imagesName:imagesVersionimages.tar 保存镜像的名称imagesName:ima...
2021-07-30 16:27:38
343
原创 MYSQL_使用left join on查询重复数据解决方案
情景:在查询用户列表的时候,同时要查询出用户的部门,而且每个用户可以拥有多个部门,在使用left join on 进行夺表查询的时候,就会出现多部门用户数据重复的问题。原sql: select u.* from user u left join user_and_department_rel d on d.user_id = u.id order by u.create_time desc解决办法:使用GROUP BY 聚合函数对结果集进行分组解决后的sql:
2021-07-16 10:49:00
2071
2
原创 Linux_curl测试文件上传
后台接口: @RequestMapping(value = "/uploadFile",method = RequestMethod.POST) public void uploadFile(@RequestParam("file") MultipartFile file,@RequestParam("incrementTrainId") Long id){ return incrementTrainService.uploadFile(file,id); }
2021-06-09 14:31:29
468
原创 Liunx_cp命令
一、复制一个文件到另一个文件夹下将当前目录下的test.txt文件,复制到/home/xuexiaobai/testCP文件夹下cp test.txt /home/xuexiaobai/testCP//home/xuexiaobai/testCP/文件夹必须存在,如果不存在,会报错cp: cannot create regular file ‘/home/xuexiaobai/testCP/’: No such file or directory二、复制一个文件到另一个文件夹下并重命名
2021-04-07 15:44:39
467
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人