自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redis安装,配置主从,哨兵

https://www.cnblogs.com/GaZeon/p/5422078.htmlhttps://www.cnblogs.com/zhonglongbo/p/13128955.html

2021-05-14 16:11:20 156

原创 git命令使用笔记总结

一. git配置1.设置的主要命令是git config:git config --global user.name "maxsu" // 设置全局用户名git config --global user.email "[email protected]" // 设置邮箱其中,--global指定为全局配置,不使用该参数,则为当前所在仓库配置。 2.除了用户名、邮箱之外,还有很多的配置可以用来自定义 Git,如:git config --global color.ui t...

2021-04-29 13:40:08 246

原创 ffmpeg视频音频处理

1.显示媒体文件细节ffmpeg -i video.mp42.仅看媒体文件信息 -hide_banner参数ffmpeg -i video.mp4 -hide_banner3.视频格式转换ffmpeg -i video.mp4 video.avi4. -qscale 0参数 维持原视频质量ffmpeg -i input.webm -qscale 0 output.mp45.查看ffmpeg支持的格式ffmpeg -formats6.转换...

2021-04-28 16:43:23 789

原创 curl 请求restful接口

curl命令的语法如下:curl [options] [URL...]以下是我们发出请求时将使用的选项:-X,--request-要使用的HTTP方法。 -i,--include-包括响应头。 -d,--data-要发送的数据。 -H,--header-要发送的其他标头。一。get方式发送请求-H 增加header参数 -i 返回响应的header信息curl -X GET -H "token:d2401b4fe11b06edac87026e58fc620e" -i http:/

2021-03-07 21:00:34 735

转载 Nacos 有哪些典型的应用场景?—— 配置管理篇

Nacos 有哪些典型的应用场景?—— 配置管理篇本文将围绕“Where”,讲述 Nacos 配置管理的三个典型的应用场景:数据库连接信息 限流阈值和降级开关 流量的动态调度数据库连接信息曾经有朋友跟我聊过一个问题,“业务飞速发展,团队越来越大,人员流动也相对频繁起来,怎么才能更好的保证数据的安全性,不被泄露呢?”。他提到这样一个场景,公司创立初期,服务后端的代码都是他一行一行码出来的,当时只有他一个人,后端与数据库的连接配置信息也就直接放置在项目的配置文件中。他使用的是 Spring B

2021-02-16 22:43:54 2143

转载 Nacos 帮我们解决什么问题?—— 配置管理篇

Nacos是阿里巴巴今年7月份开源的项目,如其名, Naming and Configuration Service ,专注于服务发现和配置管理领域。本系列文章,将从 5W1H(What、Where、When、Who、Why、How)全面剖析 Nacos,希望对开发者们在服务发现和配置管理开源方案选型的时候,有所帮助。本文作为 Nacos 系列文章的开篇,从 “What” 开始。我们开始关注一个开源项目的时候,通常最先冒出的 2 个问题是:它是什么? 它帮我们解决什么问题?Nacos 是...

2021-02-16 22:33:06 406

原创 PHP命令行参数

1.显示PHP版本号php -v 或者 php --version2.查看phpinfophp -i3.查看PHP安装了那些扩展php -m4.指定加载php.ini的绝对路径php -c如:php -c /home/htf/my_php.ini5.检测一个php代码文件是否有语法错误php -l如:php -l test.php6.执行一段php代码php -r如:php -r "echo 'hello world';"7.显示当前加载的php.

2021-02-04 17:24:34 470

原创 mac 安装Homebrew教程

Homebrew是 mac的包管理器,仅需执行相应的命令,就能下载安装需要的软件包,可以省掉自己去下载、解压、拖拽(安装)等繁琐的步骤。 比如安装服务器 nginx,打开终端执行以下命令即可安装:brew install nginx目前支持macOS和linux系统。主要有四个部分组成:brew、homebrew-core、homebrew-cask、homebrew-bottles。 名称 说明 brew Homebrew ..

2021-02-04 17:23:44 665

原创 mac source导出选中的文件到指定目录

1.打开sourcetree软件, 路径动作->自定义操作->编辑添加,然后在弹出窗填写信息需要2个文件,1个是export.php,1个是export.shexport.php<?php date_default_timezone_set('Asia/Shanghai'); if($argc == 0) { exit('Nothing to copy'); } define('DS', DIRECTORY

2020-12-29 20:15:14 506

原创 PHP性能加速-opcache

一.opcache介绍OPcache 是一个通过将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 性能的PHP扩展。 存储预编译字节码的好处就是 省去了每次加载和解析 PHP 脚本的开销。PHP 5.5.0 及后续版本中已经绑定了 OPcache 扩展。二.php处理流程http request ---> nginx(代理)----> php-fpm(master 进程,分配)----> php-fpm(worker处理 ) ---->php-cgi(1.启动

2020-12-25 00:34:29 349

原创 composer报错

composer install 执行时候报错:Your lock file does not contain a compatible set of packages. Please run composer update.解决:提示我的PHP 7版本太高,不符合composer.json需要的版本,但是在PHP 7下应该也是可以运行的,composer可以设置忽略版本匹配,命令是:$ composer install --ignore-platform-reqs或者$ compo

2020-12-03 17:55:26 338

原创 curl post 以row形式发送数据

public function curl_post($url, $post_data = array(), $data_type = ""){if ($data_type == 'json') {$postData = json_encode($post_data);} else {$postData = $post_data;}$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, C

2020-12-03 17:53:51 1357

原创 获取二维数组以某一列为健值重组数组

array_column($arr, null, 'value');第二个参数是NULL,此时将返回整个数组

2020-12-03 17:53:14 226

原创 php foreach &

$x = array("a", "b", "c");foreach ($x as &$value){echo $value." ";}echo "<br/>";foreach ($x as $value){echo $value." ";}结果:$x 第一次 a b c 第二次 a b b在第一次的foreach中使用了引用,使得$value变成了引用变量,并且$value与 $x[ 2 ]共享变量值,在第二个foreach中,不断的将$x中的

2020-12-03 17:52:15 128

原创 mac 安装LNMP环境

一. brew常用命令安装brew/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"更新brewbrew update搜索mysql可用版本brew search mysql删除php56brew unlink php56二.安装PHP7.21.安装PHP7.2brew install php72安装后文件路径 ...

2020-11-19 19:40:33 840

原创 PHP实现文件下载

1. 单个文件下载$filename = 'D:\workspace\edabbszixun\public\zixunimg\lunbo\1.jpg';$fileinfo = pathinfo($filename);header('Content-type: application/x-'.$fileinfo['extension']);header('Content-Disposition:attachment;filename=' . $fileinfo['basename']);.

2020-10-15 16:03:56 249

原创 tp6使用rabbitmq

1.composer安装amqp包composer requirer php-amqplib/php-amqplib2.新建配置文件 config/rabbit_mq.phpreturn [ 'host'=>'127.0.0.1', 'port'=>'5672', 'user'=>'guest', 'password'=>'guest', 'vhost'=>'/', 'exchange_name' => 'e

2020-10-12 15:50:43 2143 3

原创 php安装rabbitmq教程

一.安装Erlanghttps://www.erlang.org/downloads安装完将 C:\Program Files\erl-23.1\bin 的安装目录放入环境变量二.安装rabbitmq下载地址:http://www.rabbitmq.com/download.htmlexe安装地址:http://www.rabbitmq.com/install-windows.html解压缩安装地址:http://www.rabbitmq.com/install-windo.

2020-10-12 15:36:29 656

原创 Supervisor 监控thinkphp queue队列状态,保证异常退出时能自动重启

介绍Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设

2020-09-29 13:35:20 1080

原创 THINKPHP6 队列

1.安装think-queuecomposer require topthink/think-queue2.配置消息队列,将config/queue.php将’default’ => ‘sync’改为’default’ => ‘redis’,使用Redis驱动3.创建生产者class Index extends BaseController{ /** * 单任务 */ public function singleTask()

2020-09-29 10:15:38 3357

原创 thinkphp结合elasticsearch实现全文搜索,搜索推荐,高亮显示

<?phpnamespace app\controller;use Elasticsearch\ClientBuilder;class Es{ private $client; // 构造函数 public function __construct() { $params = array( '127.0.0.1:9200' ); $this->client = ClientBuil.

2020-09-22 19:05:00 1206

原创 PHP 安装Elasticsearch(简单易操作,照着流程几分钟搞定!!!)

在安装Elasticsearch引擎之前,必须安装ES需要的软件环境,安装Java JDK和配置JAVA_HOME环境变量一.安装Java SE环境1.下载和安装Java SE开发包https://www.oracle.com/cn/java/technologies/javase-downloads.html2.Java SE开发包安装完成之后,配置JAVA_HOME环境变量(创建JAVA_HOME环境变量的作用,是由于安装ElasticSearch需要引...

2020-09-22 11:24:19 1141

原创 php添加水印,水印平铺整个图片

$bigImgPath = "logo.png"; //原图$logo = "logo2.png"; //水印$im = imagecreatefromstring(file_get_contents($bigImgPath));//获取水印源$watermark = imagecreatefromstring(file_get_contents($logo));//获取图、水印 宽高类型list($bgWidth, $bgHight, $bgType) = getimagesize

2020-08-26 09:15:11 652

原创 php 生成水印图片

//图片水印function img_water_mark(){ $dst_path = '011.jpg'; $src_path = 'dianchao.png'; $new_img_name = '012.jpg'; //创建图片的实例 $dst = imagecreatefromstring(file_get_contents($dst_path)); $src = imagecreatefromstring(file_get_contents($.

2020-08-19 15:16:56 393

原创 thinkphp redis实现文章点赞功能并异步入mysql

mysql 和redis实现点赞功能点赞是非常常见的功能,普通mysql也可以实现,但遇到高并发性能不是很好,目前好的方式是利用redis缓存来实现,从而减轻数据库压力。news_user_like_set_{$news_id} 集合用来存放该文章下点赞用户的`id`。news_user_like_{$news_id}_{$user_id} HASH用来存放点赞记录,如点赞状态,点赞时间,更新点赞时间,用户ID,文章ID等。news_{$counts}_counts 用来记录redis中..

2020-07-15 16:17:16 1270 5

原创 thinkphp 利用redis实现文章浏览数统计并异步入mysql

<?phpnamespace app\news\controller;use app\login\model\News;use think\facade\Cache;/** * Class ViewCount * @package app\news\controller * 文章浏览量类 */class ViewCount extends News{ protected $redis = null; protected $hash_prefix; //浏览数.

2020-07-15 15:59:14 928

原创 PHP中文转拼音及提取首字母

话不多说,直接上代码!方法一:某些中文转化不了, 如锂等function getFirstCharter($str){$str= iconv("UTF-8","gb2312", $str);//如果程序是gbk的,此行就要注释掉if (preg_match("/^[\x7f-\xff]/", $str)){$fchar=ord($str{0});if($fchar>=ord("A") and $fchar<=ord("z") )return strtoupper(

2020-07-02 11:03:24 626

原创 Leetcode PHP题解&D4: 905. 按奇偶排序数组

题目描述:给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] &l...

2020-01-03 18:16:55 208

原创 Leetcode PHP题解&D3: 961 重复N次的元素

题目描述:在大小为2N的数组A中有N+1个不同的元素,其中有一个元素重复了N次。返回重复了N次的那个元素。示例 1:输入:[1,2,3,3]输出:3示例 2:输入:[2,1,2,5,3,2]输出:2示例3:输入:[5,1,5,2,5,3,5,4]输出:5提示:4 <= A.length <= 100000 <=...

2020-01-03 17:08:33 199

原创 Leetcode PHP题解&D2: 929. 独特的电子邮件地址

题目描述:每封电子邮件都由一个本地名称和一个域名组成,以 @ 符号分隔。例如,在[email protected]中,alice是本地名称,而leetcode.com是域名。除了小写字母,这些电子邮件还可能包含 '.' 或 '+'。如果在电子邮件地址的本地名称部分中的某些字符之间添加句点('.'),则发往那里的邮件将会转发到本地名称中没有点的同一地址。例如,"alice...

2020-01-03 16:51:36 477

原创 Leetcode PHP题解&D1:宝石与石头

题目描述:给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S ...

2020-01-03 16:00:03 188

原创 EasySwoole 在windows上装虚拟机centos共享windows目录报错处理

这个是unix不能共享目录导致的,开发中不会影响,如果要解决这个报错可以把temp目录换到 “/tmp” 即可

2019-11-12 16:11:30 243

原创 supervisor 监控laravel队列

1.Supervisor的安装yum install python-setuptools easy_install supervisor2.运行这个命令可以生成一个默认的配置文件echo_supervisord_conf > /etc/supervisord.conf3.打开编辑这个文件,把最后的 include 块的注释打开,并修改如下[include] files =...

2019-04-08 18:50:01 715

原创 composer镜像

composer 中国镜像composer config -g repo.packagist composer https://packagist.phpcomposer.comlaravel中国镜像composer config -g repo.packagist composer https://packagist.laravel-china.org仅限当前工程使用镜像co...

2019-04-08 17:59:30 144

原创 Markdown基本语法

Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可缺点:...

2019-04-08 17:48:43 260

原创 laravel 定时任务

1.php artisan make:console Test 生成任务文件test2.创建完成后,打开console目录下的commands目录,我们会发现里面已经有了一个文件大致代码如下:<?phpnamespace App\Console\Commands;use App\Services\CalculateDataService;use Illuminate\...

2019-04-08 17:45:48 1328 2

原创 PHP引用(&)详解

变量的引用PHP 的引用允许你用两个变量来指向同一个内容&lt;? $a="ABC"; $b =&amp;$a; echo $a;//这里输出:ABC echo $b;//这里输出:ABC $b="EFG"; echo $a;//这里$a的值变为EFG 所以输出EFG echo $b;//这里输出EFG ?&gt; 函数的传址调用传址调用我就不多说了 下面直接给出代码&lt;?ph...

2018-06-09 19:00:48 214

原创 解决用户短信发送的各种问题

1.短信轰炸恶作剧者利用系统暴露的短信发送接口频繁向不同的用户手机号码发送短信验证码。答:比较好解决,只要涉及到短信发送就需要填写验证码,并且验证码的生成是通过用户点击“获取图形验证码”按钮生成的,这里使用了前端js与后端图形验证码约定的加解密token验证服务,可能会用到浏览器版本crypto.js来生成token,大幅度增加破解token生成算法的门槛,并且时常更新key(类似公钥)。2.单账...

2018-06-09 18:35:47 2312

原创 缓存失效、缓存穿透问题解决方案

缓存失效:   引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB,DB可能会压力过重。   处理方法: 一个简单方案就是将缓存失效时间分散开,不要所以缓存时间长度都设置成5分钟或者10分钟;...

2018-06-09 18:16:40 321

转载 Linux日志文件logrotate

        日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题。除此之外,处理一个单个的庞大日志文件也常常是件十分棘手的事。        logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。例如,你可以设置logrotate,让...

2018-05-12 16:37:20 270

空空如也

空空如也

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

TA关注的人

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