自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Redis-monitor安装与配置

安装python版本对应的,https://bootstrap.pypa.io/pip/ 里面找找,3.6附近的直接改url就行。压测环境因为隔离原因没法直接查看redis日志跟性能指数,只能通过监控工具查看,使用开源redis-montor监控查看。1、python环境准备(python -v有的忽略)4、页面操作访问下面链接,公网记得ip代理。2、本地3.6的直接安装pip命令。3、安装redis-monitor。1、首先安装python库。启动 webserver。2、初始化配置和数据库。

2024-11-21 17:08:15 600

原创 gateway漏洞(CVE-2022-22947)

早上被电话吵醒,线上环境出现Bug,很多接口请求都失败了,绕开网关请求各个微服务都是正常的,经过网关就异常了,观察到页面上接口路径都被莫名其妙的改了,去看日志发现网关出现了 Cannot fetch registry from server reactor.core.Exceptions$ErrorCallbackNotImplemented: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0。表明在尝试访问一个空的列表时发生了越界异常。

2024-11-21 17:06:44 1094

原创 openresty“热部署“lua

频繁reload 或者restart影响测试使用nginx,修改lua脚本后要实际查看效果值,使用关闭lua代码缓存,可以实现实时查看代码效果。二、修改nginx.conf参数,后重启nginx。每次请求都会从磁盘中加载lua脚本,代码缓存(默认是开启的)

2024-10-15 16:26:41 665

原创 lua脚本使用cjson转换json时,空数组[]变成了空对象{}

问题:reids中部分数据的json key存在为[]的值,使用cjson进行解析的时候将原本空数组[]解析成了空对象{}在使用cjson类库时,先配置json转换要求。项目lua使用工具:cjson。目标:原本[] 转 []-- 设置json转换格式。-- 设置json转换格式。

2024-10-15 16:19:13 1144

原创 Mysql优化之索引优化细节(五)

只有当索引的列顺序和order by子句的顺序完全一致,并且所有列的排序方式都一样时,mysql才能够使用索引来对结果进行排序,如果查询需要关联多张表,则只有当orderby子句引用的字段全部为第一张表时,才能使用索引做排序。有时候需要索引很长的字符串,这会让索引变的大且慢,通常情况下可以使用某个列开始的部分字符串,这样大大的节约索引空间,从而提高索引效率,但这会降低索引的选择性,索引的选择性是指不重复的索引值和数据表记录总数的比值,范围从。索引的选择性越高则查询效率越高,因为选择性更高的索引可以让。

2024-09-29 09:00:00 737

原创 Mysql调优之执行计划优化-explain(三)

-range:表示利用索引查询的时候限制了范围,在指定范围内进行查询,这样避免了index的全索引扫描,适用的操作符: =, <>, >, >=, <, <=, IS NULL, BETWEEN, LIKE, or IN()--index:全索引扫描这个比all的效率要好,主要有两种情况,一种是当前的查询时覆盖索引,即我们需要的数据在索引中就可以索取,或者是使用了索引进行排序,这样就避免数据的重排序。2、表名是derivedN的形式,表示使用了id为N的查询产生的衍生表。

2024-09-28 09:00:00 632

原创 Mysql调优之索引优化(四)

例如:actor使用innodb存储引擎,并在last_name字段又二级索引,虽然该索引的列不包括主键actor_id,但也能够用于对actor_id做覆盖查询。1、当发起一个被索引覆盖的查询时,在explain的extra列可以看到using index的信息,此时就使用了覆盖索引。B+树只有叶子结点存储数据,其余都是存储索引,增加了每层存取索引的数量(3层结构就可以支持千万条数据查询)。当需要存储大量的URL,并且根据URL进行搜索查找,如果使用B+树,存储的内容就会很大。

2024-09-28 09:00:00 688

原创 linux中yum常用命令

yum localinstall 第三方software ##安装第三方文件并且会解决软件的依赖关系。yum reinstall softarename ##重新安装指定的软件。yum install softwarename ##安装指定的软件。yum groups info ##查看一个软件组的信息。yum groups install ##安装一个软件组。yum group remove ##卸载一个软件组。

2024-09-27 13:12:12 321

原创 使用shc|gzexe加密shell脚本,并配置全局可用

前言:堡垒机上多厂家共用,导致脚本需要加密并设置过期时间。二、使用gzexe(压缩、非二进制)1、上传文件到/home/wyy/下。编译为二进制,并重命名输出文件。一、使用shc(二进制)

2024-09-27 11:37:34 626

原创 docker时区修改

4、启动容器的时候解决。

2024-09-15 22:05:30 1019

原创 Docker安装SVN,搭建自己的本地版本仓库

p 3690:3690表示将宿主机的3690端口映射到容器的3690端口,此端口为svn服务的默认端口,可以根据需要自行修改。/root/dockers/svn为宿主机的文件目录,/var/opt/svn为容器内的文件目录。(因为创建仓库的时候,发现宿主机挂载目录下居然没有生成对应的CodeGenerator目录)认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如。2、配置账号与密码,修改 passwd文件,格式为“账号 = 密码”2、创建名称为svn的资源仓库。

2024-09-15 21:59:53 1793

原创 Linux-mysql5.7-mysql8.0安装包下载及安装教程,二合一

7.3用上面介绍的Xftp软件进入/usr/local/mysql的目录。就说明你没有创建MySQL的用户!10、登录mysql ,并修改你的初始密码!(密码为上面生成的临时密码)上面步骤完毕后,有的同学可能之前装的mysql到这里后就安装不上了。5、修改mysql目录的下所有的目录及文件夹的用户组和用户的权限。复制下面的命令修改密码:(这里我改的是123456,你们随意!登录自己的liunx ,复制上面的命令下载。是因为你的文件和文件夹没有给他们读写的权限。7.1进入你安装好的mysql的/bin目录。

2024-09-14 09:57:14 4834 1

原创 鲲鹏云-docker安装mysql8.0-并设置参数(--lower-case-table-names=1)

docker cp mysqlkssp:/var/lib/mysql/ /docker/mysql/data/ #不用执行,只是告诉你目录在/var/lib/mysql/由于鲲鹏云是arm架构,公司现有的镜像就用不了,为了搭建个测试环境,记录一下搭建过程。lower_case_table_names看前言部分,这里配上是为了可读性,告知后来人而已,这样就得到了一个宿主机的目录/docker/mysql/etc/③删掉这个容器,这样我们就得到了一个全新的镜像,跟配置文件。

2024-09-14 09:51:32 1316

原创 Mysql调优之表跟数据类型优化(二)

应该尽量使用可以正确存储数据的最小数据类型,更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期更少,但是要确保没有低估需要存储的值的范围,如果无法确认哪个数据类型,就选择你认为不会超过范围的最小类型。如果查询中包含可为NULL的列,对mysql来说很难优化,因为可为null的列使得索引、索引统计和值比较都更加复杂,坦白来说,通常情况下null的列改为not null带来的性能提升比较小,所有没有必要将所有的表的schema进行修改,查询时候自动转换成明文。

2024-09-13 13:38:21 978

原创 Mysql调优之性能监控(一)

执行次数、使用时长。

2024-09-13 11:25:40 2718

原创 jvisualvm工具使用-jvm本地调优(一)

根据定位信息,具体分析,是公司的分布式事务框架的缓存读取链路信息的时候进行了全量加载,导致的耗时长,从而导致事务迟迟不能提交,导致了死锁跟低吞吐量(分析过程的有大量公司框架类名不方便展示,这里就随便贴个了)开启vm连接(visual vm 连接到 jar包,可以做切片分析)点击cpu后迅速请求接口,接口执行完后停止捕获。解压即可使用,默认使用本地的jdk。3、使用jvisualvm。4、cpu或者内存捕获开启。

2024-09-12 10:25:47 887

原创 minio的最大优势--运维(五)

minio的验证可行性就到这里了,总结就是简单易操作,linux基础扎实的话,从FastDfs切换过来一天就能玩明白,比Fastdfs更简单操作。官方文档地址:https://docs.min.io/docs/minio-client-quickstart-guide.html。MinIOClient(mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。policy命令,用于添加,删除,列出策略,获取有关策略的信息并为MinIO服务器上的用户设置策略。

2024-09-11 22:13:27 1355 1

原创 minio分布式集群部署(三)

采用此种方式实现,如Hadoop的文件系统(3个副本),Redis的集群,MySQL的主备模式等。作用,一个校验,通过对数据进行校验和(checksum)进行计算,可以检查数据是否完整,有无损坏或。冗余法最简单直接,即对存储的数据进行副本备份,当数据出现丢失,损坏,即可使用备份内容进行恢。计算,还原丢失或损坏的数据,可以在保证数据可靠的前提下,降低冗余,如单机硬盘存储中的RAID。分布式存储,很关键的点在于数据的可靠性,即保证数据的完整,不丢失,不损坏。复,而副本备份的多少,决定了数据可靠性的高低。

2024-09-11 22:02:07 1498

原创 minio环境搭建-纠删码模式(二)

Minio使用纠删码 erasure code 和校验和 checksum 来保护数据免受硬件故障和无声数据损坏。纠删码是一种恢复丢失和损坏数据的数学算法, Minio采用Reed-Solomon code将对象拆分成N/2。数据和N/2 奇偶校验块。这就意味着如果是12块盘,一个对象会被分成6个数据块、6个奇偶校验。块,你可以丢失任意6块盘(不管其是存放的数据块还是奇偶校验块),你仍可以从剩下的盘中的。您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。(但是要N/2+1块盘正常才能上传)

2024-09-11 21:58:47 1225

原创 Minio环境搭建(单机安装包、docker)(一)

但是对于一些没有选择业务上云或者想要下云的企业来说,要使用公有云的 OSS,在公网带宽方面就需要有一定的投入,毕竟需要通过公网传输,带宽太小,传输速度就会慢,且在传输过程中数据的安全性和完整性也有损失的风险,走专线的费用又十分昂贵,不实在。下部矩阵可以选择范德蒙德矩阵或柯西矩阵。对于业务已在公有云上的企业来说,使用公有云提供的 OSS 服务,可以很好的节省存储的成本,且一般都提供易接入的 SDK,以阿里云的OSS 服务为例,在存储介质的上层封装可标注的 RESTful API 接口,使用起来十分方便。

2024-09-11 21:55:46 2813

原创 linux磁盘扩容-扩容

",然后在出现的选项我们选择普通分区、e应该是扩展逻辑分区(有知道的可以补充),然后根据需要输入起始扇区、默认扇区,这边就跟Windows分区时的操作差不多。之后我们需要输入 "3、/dev/vdb还没被使用,格式化(三思操作,看懂每一个单词,按提示操作)",将我们定义的配置写入到磁盘,配置才会生效。我们这边需要添加新分区,所以我们输入"2、查看磁盘挂载情况及文件格式。1、列出所有磁盘及其分区信息。4、修改磁盘文件格式。

2024-09-11 20:51:19 722

原创 linux防火墙相关操作

2024-09-11 20:49:26 181

原创 java文件转换byte[]->File->MultipartFile

三、File->MultipartFile。一、File -> byte[],可以在处理大文件时,提升性能。二、byte[]->File。将文件转换为字节数组,使用。

2024-09-11 20:44:44 954

原创 java-lambda-常用方法总结汇总

2、获取对象集合中的(一个或者某个字段)生成新的对象集合转1、获取对象集合中的一个字段生成新的集合,【转。

2024-09-11 20:25:27 1542

原创 java-lambda常用函数式接口

这几个函数在日常开发中,也是可以灵活应用的,比如我们DAO操作完数据库,是会有个result的整型结果返回。Function<T, R> 是一个功能转换型的接口,可以把将一种类型的数据转化为另外一种类型的数据。Consumer<T>是一个消费性接口,通过传入参数,并且无返回的操作。Predicate<T>是一个判断型接口,并且返回布尔值结果.Supplier<T>是一个供给型接口,无参数,有返回结果。获取每个字符串的长度,并且返回。获取每个字符串的长度,并且返回。获取每个字符串的长度,并且返回。

2024-09-11 19:34:34 327

原创 CompletableFuture 异步多线程

与此同时,Future无法解决多个异步任务需要相互依赖的场景,简单点说就是,主线程需要等待子线程任务执行完毕之后在进行执行,这个时候你可能想到了CountDownLatch,没错确实可以解决,代码如下。并且一般建议使用自定义线程池。:任务1执行完了再执行任务2,甚至任务1执行的结果,作为任务2的入参数等等强大功能,下面就来学学CompletableFuture的API。表示第一个任务执行完成后,执行第二个回调方法任务,会将该任务的执行结果,作为入参,传递到回调方法中,并且回调方法是有返回值的。

2024-09-11 18:18:16 1032

原创 2020-11-24

1.使用xftp上传springboot项目的maven依赖文件跟项目文件2.如果该项目原本在运行,在xftp上传过程中要先把该项目的端口杀掉,防止因为端口被占用问题导致重启失败,杀掉进程:查询该端口对应的占用进程号netstat -apn | grep 8080根据该进程号强制关闭该应用 kill -9 81163.随后等xftp上传完毕后,启动jar包nohup java -jar KjseTools-1.0-SNAPSHOT.ja...

2020-11-24 14:33:35 155

设计模式之禅-秦小波-包含代码案例

程序员必读,spring源码阅读必备储备知识。 你是程序员,没问题,本书能够让你写出更加高效、优雅的代码; 你是架构师,那更好,设计模式可让你设计出健壮、稳定、高效的系统,并且自动地预 防未来业务变化可能对系统带来的影响; 你是项目经理,也OK,设计模式可以让你的工期大大缩短,让你的项目团队成员快速 地理解你的意图,最终的成果就是优质的项目:高可靠性、高稳定性、高效率和低维护成 本

2024-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除