自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nginx+certbot申请免费ssl证书并自动续签

2、加入crontab。

2024-01-09 10:42:10 585

原创 使用MySQL定时任务 动态增加分区

MySQL的定时任务-数据表增加分区

2022-11-10 15:44:26 2181 2

原创 mysql 查询去掉多余零

/*** 指定查询字段* @access public* @param mixed $field 字段信息* @param mixed $format 需要去掉多余0的 decimal字段* @return this∗/publicfunctionfield(this */ public function field(this∗/publicfunctionfield(field,KaTeX parse error: Expected '}', got 'EOF' at end

2021-10-21 16:39:13 3115

原创 curl post xml报文请求和模拟表单数据流multipart/form-data上传文件

curl post xml报文发起请求public static function http_xml_buildData($url,$param){ $xml = self::arrayToXml($param); $header = ['Content-type: text/xml']; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setop

2021-10-16 11:06:39 1287

原创 package test is not in GOROOT

go run zero 运行报错go env修改参数//GO111MODULE设置为 onC:\Users\10326>go env -w GO111MODULE=on//环境变量设置为https://goproxy.cnC:\Users\10326>go env -w GOPROXY=https://goproxy.cn,direct

2021-06-21 09:28:51 2418

原创 Go 指针、流程控制、数组、切片以及集合

一、指针区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。&: 取地址*: 根据地址取值func zz() { var p = "zerp" fmt.Println(&p) //0xc00003c1f0 c := &p *c = "test" fmt.Println(c, *c, p) //0xc00003c1f0 test test num := 9 sum(&num) fmt.Println(num)}f

2021-06-14 18:18:46 147 1

原创 Go相关命令详解

go env 用于打印Go语言的环境信息。go run 命令可以编译并运行命令源码文件。go get 可以根据要求和实际情况从互联网上下载或更新指定的代码包及其依赖包,并对它们进行编译和安装。go build 命令用于编译我们指定的源码文件或代码包以及它们的依赖包。go install 用于编译并安装指定的代码包及它们的依赖包。go clean 命令会删除掉执行其它命令时产生的一些文件和目录。go doc 命令可以打印附于Go语言程序实体上的文档。我们可以通过把程序实体的标识符作为该命令的...

2021-06-14 15:47:27 298

原创 Go语言 变量声明,作用域以及接口

作用域声明在函数内部,是函数的本地值,类似private声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect声明在函数外部且首字母大写是所有包可见的全局值,类似publicGo语言声明有四种主要声明方式:var(声明变量), const(声明常量), type(声明类型), func(声明函数)。var 变量名 变量类型// 正常定义方式 var a int = 0 fmt.Println("常定义方式 :", a) // 根据值得

2021-06-14 15:41:04 256

原创 Go常见数据类型操作以及fmt占位符

1. 整型整型数据分为两类,有符号和无符号两种类型有符号: int, int8, int16, int32, int64无符号: uint, uint8, uint16, uint32, uint64, byte不同位数的整型区别在于能保存整型数字范围的大小;有符号类型可以存储任何整数,无符号类型只能存储自然数int和uint的大小和系统有关,32位系统表示int32和uint32,如果是64位系统则表示int64和uint64byte与uint8类似,一般用来存储单个字符在保证程序正确

2021-06-14 15:08:22 1259 1

原创 Go的初识以及安装

一、简介Go 语言特色简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go 语言用途Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。Go的缺点缺少明确主要框架:虽然有beego、echo、gin、lris等框架但是目前并没有一个主要的框架错误处理:go语言通过

2021-06-12 12:00:59 103 4

原创 TCP与UDP

一、TCPTCP(Transmission Control Protocol传输控制协议):是一 种面向连接的、可靠的、基于字节流的传输层通信协议,使用三次握手协议建立连接、四次挥手断开连接。面向连接意味着两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据包之前必须先建立一一个TCP连接。在一一个TCP连接中,仅有两方进行彼此通信,广播和多播不能用TCP。TCP协议的作用是,保证数据通信的完整性和可靠性,防止丢包。TCP把连接作为最基本的对象,每-条TCP连接都有两个端点, 这种端

2021-06-06 20:53:09 143 2

原创 swoole task任务分发

异步任务 (Task)在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web服务器中发送邮件。如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢。 Swoole提供了异步任务处理的功能,可以投递一个异步任务到 TaskWorker 进程池中执行,不影响当前请求的处理速度。Swoole\Table性能强悍,单线程每秒可读写 200 万次;应用代码无需加锁,Table 内置行锁自旋锁,所有操作均是多线程 / 多进程安全。用户层完全不需要考虑数据同步问题;支

2021-06-06 20:03:45 178

原创 laravel利用swoole扩展封装redis连接池以及一键协程化

redisPool 封装目录结构├─redis_pool --------- 主目录│ ├─redis│ │ ├─RedisOp.php ------ redis操作类│ │ ├─RedisBase.php ------ redis操作基类│ ├─pool│ │ ├─RedisPool.php ------- Redis连接池封装类│ ├─Redis.php ---------------- swoole一键协程封装一、封装redis操.

2021-06-06 19:36:41 645 1

原创 Mysql与Elasticsearch同步工具Logstash安装及使用

一、logstash安装拉取logstash镜像docker pull logstash:7.12.1(需要与es版本对应)构建logstash容器mkdir /docker/logstash #创建一个用于存储logstash配置以及插件的目录docker run -p 9900:9900 -d --name logstash -v /docker/logstash:/etc/logstash/pipeline --privileged=true logstash:7.12

2021-05-30 17:00:17 411

原创 Elasticsearch使用ik分词、go-mysql-elasticsearch同步工具使用以及es精准映射相关操作

一、安装ik分词器获取ik分词器安装包ik分词器的版本必须和elasticsearch版本一致下载安装包 wget https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.12.1解压到宿主机映射的es扩展目录 unzip /home/elasticsearch-analysis-ik-7.12.1.zip -d /docker/es/plugins/ik/二、同步mysql工具 go-mysql-ela

2021-05-27 20:31:56 688

原创 Elasticsearch增、删、改、查(动态映射)

PUT:创建一个对象PUT /table_name/_doc/1{ "id":1, "user_name":"zero", "age":18, "create_at":"20210526"}#返回结果{ "_index" : "table_name", #索引名称 "_type" : "_doc", #类型 "_id" : "1", #id "_version" : 1, #数据版本 "result" : "created", #操作类型-创建 "_shar

2021-05-26 21:12:08 387

原创 laravel使用Elasticsearch

一、composer安装elasticsearch扩展包composer require elasticsearch/elasticsearch “7.12.x” --ignore-platform-reqs二、配置esconfig/database.php 'elasticsearch' => [ 'hosts' => explode(',',env('ES_HOSTS')), ].env ES_HOSTS=192.168.148.188:92

2021-05-23 10:51:20 2097 4

原创 docker环境中 elasticsearch以及kibana 的安装配置

Elasticsearch简介Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力Elasticsearch的适用场景国外维基百科,类似百度百科,全文检索,高亮,搜索推荐The Guardian(国外新闻网站),用户行为日志(点击,浏览,收藏,评论)+社交网络数据,数据分析Stack Overflow(国外的程序异常讨论论坛)GitHub(开源代码管理)电商网站,检索商品日志数据分析,logstash采集

2021-05-23 10:31:29 303 3

原创 nginx优化配置示例

nginx优化配置示例user nginx; #用户worker_processes auto;#进程数量 推荐auto,自动去服务器的cpu核心数error_log /var/log/nginx/error.log error;#错误日志地址pid /var/run/nginx.pid; #进程文件地址worker_rlimit_nofile 204800; #指定nginx进程可以打开的最大文件个数。 与worker_connections 匹配events{ use epoll

2021-05-16 21:58:24 204

原创 nginx的配置参数以及变量

nginx的配置参数以及变量课程内容配置参数全局变量配置参数daemon:是否以守护进程的方式运行nginxdaemon on | off ,默认值为on;守护进程是脱离终端并且在后台运行的进程,他脱离终端是为了避免进程执行过程中的信息在任何终端上显示,这样一来,进程不会被任何终端所产生的信息所打断。nginx毫无疑问是一个需要以守护进程的方式运行的服务master_process:是否以master/worker方式工作master_process on | off ,默认值为on

2021-05-16 21:14:57 5327 3

原创 mycat安装及基础配置介绍

mycat安装安装jdk环境#去Oracle官网下载需要安装的jdk版本 jdk-8u20-linux-x64.tar.gz#解压tar -zxvf jdk-8u20-linux-x64.tar.gzmv /home/jdk1.8.0_20/ /usr/local/java#配置环境变量vi /etc/profile#加入以下参数export JAVA_HOME=/usr/local/javaexport CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.j

2021-05-16 20:42:07 726 2

原创 docker环境安装部署openresty

[root@localhost www]# docker pull openresty/openrestyUsing default tag: latestTrying to pull repository docker.io/openresty/openresty ... latest: Pulling from docker.io/openresty/openrestyf7ec5a41d630: Already exists 7f417ff86852: Pull complete 83c3e

2021-05-16 12:04:40 1147

原创 centos环境php安装swoole扩展

下载源码 github:https://github.com/swoole/swoole-src/releases 码云: http://git.oschina.net/swoole/swoole git clone https://gitee.com/swoole/swoole.gitcd进入swoole目录 执行 : /usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config

2021-05-16 11:46:35 205

原创 shell开机启动脚本

#!/bin/sh#chkconfig: 35 20 80#description: mht_app ws_serverws_id=`ps -ef | grep '/data/wwwroot/mht_app/think task ws_server' | grep -v "grep" | awk '{print $2}'`PID=/usr/local/php/var/run/php-fpm.pidif [ ! $ws_id ]; then echo 'Starting...' .

2021-05-13 18:48:03 306

原创 composer常用镜像源

1. Laravel-China 镜像composer config -g repo.packagist composer https://packagist.laravel-china.org2. 国内镜像composer config -g repo.packagist composer https://packagist.phpcomposer.com3. 切换到原始镜像composer config -g repo.packagist composer https://repo.

2021-05-09 12:29:09 3808

原创 通过 Supervisor 管理 LaravelS

通过 Supervisor 管理 LaravelS如果是在生产环境使用,推荐使用 Supervisor 对 LaravelS 服务进行管理,从而提供服务的稳定性,相应的配置示例如下:[program:laravel-s-test]command=php /www/wwwroot/lms/blog/bin/laravels start -inumprocs=1autostart=trueautorestart=truestartretries=3user=rootredirect_stder

2021-05-08 21:41:43 242

原创 laravel使用swoole加速

一、docker搭建lnmp环境安装dockeryum install -y docker#在启动之前我们需要修改docker的镜像源:[root@localhost docker]# vim /etc/docker/daemon.json{ "registry-mirrors": ["https://ftnejmh3.mirror.aliyuncs.com"]}systemctl start docker # 启动dockersystemctl stop docker

2021-05-07 23:05:21 602

转载 centos设置时间与系统时间同步

1.设置系统时间为中国时区并启用NTP同步yum install ntp // 安装ntp服务systemctl enable ntpd // 开机启动服务systemctl start ntpd // 启动服务timedatectl set-timezone Asia/Shanghai // 更改时区timedatectl set-ntp yes // 启用ntp同步ntpq -p // 同步时间2.timedatectl 命令读取时间timedatectl //等同于 timedat

2021-05-07 09:42:59 1236

原创 算法面试题

对栈的理解:栈的定义及知识1.定义:栈又称为栈或者堆叠,是计算机科学中的一种特殊的串列形式的抽象数据类型,特殊之处在于只 允许在链表或者数组的一端(堆栈顶端指针,又称 “top”)加入数据push(压栈)和输出数据pop(弹栈),另外 栈也可以使用一维数组和链表来实现。2.栈的特点: a.先进后出(后进先出),也就是说,我们只能在栈顶端push(压栈)加入数据,也只能在栈顶端 pop(弹栈)删除数据; b.栈除了top(栈顶)和base(栈底)之外,其他的每个元素都有一个前驱和后继;用代码.

2021-04-29 00:24:11 52

转载 Nginx配置优化

Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s relo.

2021-04-28 22:48:54 179

原创 Redis必备面试题

Redis如何实现延时队列使用sortedset,使用时间戳做score,消息内容作为key,调用zadd来生产消息,消费者使用zrangbyscore获取n秒之前的数据做轮询处理。redis缓存击穿是什么?如何解决?缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。和缓存雪崩不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数.

2021-04-28 21:56:48 198 1

原创 一次网络请求的完整过程

客户端的视角用户输入URL,浏览器解析url我们都知道,url其实是一种方便人类记忆的标识符,实际上计算机都是通过IP地址进行通信的。这个url转IP的过程就叫解析域名。 步骤一般分为下面几步:1.利用本地host文件进行解析2.向本地DNS服务器请求解析3.本地DNS服务器向根DNS服务器、域服务器等请 求解析(有递归和迭代两种方式)4.本地DNS服务器在请求完成后需要缓存url和ip的映射关系浏览器发起连接浏览器会先和服务器建立TCP连接(80端口),再构造http报文发送ht

2021-04-28 21:33:36 2205

原创 mysql必备面试题

订单、库存两个表 如何保证数据的一致性?在一个电子商务系统中,正常的应该是订单生成成功后,相应的库存进行减少必须要保证两者的一致性,但有时候因为某些原因,比如程序逻辑问题,并发等问题,导致下单成功而库存没有减少的情况。这种情况我们是不允许发生的,MySQL的中的事务刚好可以解决这一问题,首先得选择数据库的存储引擎为InnoDB的,事务规定了只有下订单完成了,并且相应的库存减少了才允许提交事务,否则就事务回滚,确保数据一致性。外键的作用保持数据一致性,完整性,主要目的是控制存储在外键表中的.

2021-04-28 21:19:34 193

原创 php必备面试题

以下代码会输出啥内容?A.ABCB.DEFC.其它D.我不知道<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; $b->abc="DEF"; echo $c->abc;?>以下代码会输出啥内容?A.102B.1C.101D.其它$a=2;$b=1;function test(&$a){ $a=$a+100;}test($b);echo $b;PHP抽象类可以.

2021-04-28 20:23:21 138

原创 redis 哨兵实现高可用以及哨兵常见问题处理

主从搭建请参考一主一从192.168.67.100 #主192.168.67.101 #从sentinel.conf 配置修改cd /usr/local/redis6/vim sentinel.conf #绑定授权IPbind 0.0.0.0 #sentinel 监听端口port 26379#开启后台运行daemonize yes #日志等文件保存目录dir "/tmp" #将运行日志保存在 /tmp 目录下logfile 'sentinel.log'

2021-04-24 22:08:54 1317

原创 ThinkPHP表单验证规则归纳总结

格式验证类require #不能为空number 或者 integer #必须是数字float #必须是浮点数boolean #必须是布尔值email #验证是否为email地址array #验证值是否为数组captcha #验证图片验证码是否正确accepted #必须是为 yes, on, 或是 1date #验证日期格式alpha #是否为字母alphaNum #是否为字母和数字alphaDash #是否为字母和数字,下划线_及破折号-activeU

2021-04-23 10:46:04 907 1

原创 Redis主从复制

主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点,且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点。主从复制的作用1、数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。2、故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。3、负载..

2021-04-22 22:53:29 80 1

转载 redis持久化之RDB与AOF

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘。当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。Redis持久化分为快照(RDB文件)和追加式文件(AOF文件),前者将当前数据保存到硬盘,后者则是将每次执行的写命令保存到硬盘。RDB持久化(快照方式)1、手动触发机制(save 和 bgsave)save 命令.

2021-04-21 22:42:23 94

原创 centos 安装redis6及配置开机自启

安装1、升级gcc版本环境部署与安装scl源 yum install gcc cmake -y --部署安装环境 yum install centos-release-scl scl-utils-build --安装scl源安装gcc新版本yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils --安装gccscl enable devtoolset-9 bash --更新gcc

2021-04-19 22:51:58 499

原创 ngx_cache_purge _proxy_cache指令详解

1. proxy_cache 指令该指令用于配置一块公用的内存区域的名称,该区域可以存放缓存的索引数据。这些数据在Nginx服务器启动时由缓存索引重建进程负责建立,在Nginx服务器的整个运行过程中由缓存管理进程负责定时检测过期数据,检索等管理工作。proxy_cache zone | off;zone,设置的用于存放缓存索引的内存区域的名称。off,关闭proxy_cache 功能,是默认的设置。2. proxy_cache_bypass指令该指令用于配置Nginx服务器向客户端发送

2021-04-18 19:11:26 1493

空空如也

空空如也

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

TA关注的人

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