自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿的世界

「WHY」每一个你不满意的当下,都有一个你不曾努力的过去。

  • 博客(15)
  • 收藏
  • 关注

原创 初探Gin,封装日志中间件,根据uri按天记录

上代码 log.go package main import ( "encoding/json" "fmt" "github.com/gin-gonic/gin" "io" "os" "path" "path/filepath" "strings" "time" ) //根据时间检测目录,不存在则创建 func CreateDateDir(Path string) str...

2019-12-29 20:38:19 1149

原创 封装php-redis服务,读写分离,失败重连,单例模式,限制客户端指令集

安装和配置 安装redis服务和php-redis扩展:https://blog.csdn.net/why444216978/article/details/83659776 主从复制:https://blog.csdn.net/why444216978/article/details/100170179 封装服务类RedisService.php <?php class Red...

2019-12-26 21:59:13 612

原创 PHP的static关键字实现单例模式和享元模式

发现 最近看CI框架的源码,发现有很多方法里边用到了static变量,用于实现单例模式,之前没接触到过,今天特意研究一下。 提问 首先抛出一个问题,下面这段代码会输出什么? <?php function test($key = '', $value = '') { static $data = array(); if (!empty($key)) { ...

2019-12-26 17:10:35 539

转载 解决lrzsz乱码问题

1. 安装lrzsz brew install lrzsz #可以在等待安装的过程中执行第2步 2. 安装执行脚本 将iterm2-send-zmodem.sh和iterm2-recv-zmodem.sh保存到/usr/local/bin目录下。 执行脚本下载地址:https://pan.baidu.com/s/1hbU_8R7Xw7yyx9i78dJTUg 密码:d6kv g...

2019-12-25 13:26:30 1955

原创 php-amqplib使用实例

相关链接 composer安装地址:https://packagist.org/packages/php-amqplib/php-amqplib 搭建和配置rabbitmq:https://blog.csdn.net/why444216978/article/details/84570801 安装PHP-AMPQ:https://blog.csdn.net/why444216978/arti...

2019-12-24 20:52:56 2293

原创 这大概是最全的ElasticSearch能满足日常开发的DSL组合了

DSL: ​ { "query": { "bool": { "must": [ { "terms": { "type": [ "hangqing_analyze", ...

2019-12-24 13:00:24 1007 1

原创 关于Golang使用channel的死锁问题

发现问题 小白一枚,最近在入门学习Golang,在学到channel时,发现总会遇到死锁的问题: fatal error: all goroutines are asleep - deadlock! 原理解读 通过查找相关资料发现,channel本身是用于不同协程间通信的,一般一个协程作为生产者,另一个作为消费者,遵循下面两个原则: 当上一次生产到channel的数据未被消费时,生产者继...

2019-12-22 19:15:18 1055

原创 关于MySQL存储IP地址引发的思考

产生思考 今天在看《高性能MySQL》时,有这么一句话,IP地址实际上是32位无符号整数,所以应该用无符号整数存储IP地址,MySQL提供了INET_ATON()和INET_NTOA()函数在这两种表示方法之间的转换。这样存的好处有两点: 节省空间,32位无符号整数,即INT类型(不清楚MySQL各种类型的点这里移步),只占4个字节。 通过where比较,可以方便筛选某个地址...

2019-12-16 20:53:19 305

原创 MySQL各类存储类型对比

整型 数据类型 存储大小 十进制范围(有无符号) TINYINT 8位,1字节 有:-128~127 无:0~255 SMALLINT 16位,2字节 有:-32768~32767 无:0~65535 MEDIUMINT 24位,3字节 有:-8388608~8388607 ...

2019-12-15 23:38:52 615

原创 Lumen使用tideways加中间件记录慢接口以及对应接口执行的SQL

先上代码: <?php namespace App\Http\Middlewares; use Closure; use Illuminate\Support\Facades\DB; class ProfilerMiddleware { public function handle($request, Closure $next) { $extens...

2019-12-07 17:43:26 552

原创 依赖倒置原则应用,Lumen基于PHPMailer封装邮件服务

EmailInterface <?php namespace App\Services\Email; interface EmailInterface { public function send($email, $subject, $content, $attachments = []); } PhpMailerService <?php namespace A...

2019-12-06 19:11:09 398

原创 PHP不允许注册的进程信号

代码 <?php pcntl_async_signals(true); pcntl_signal(SIGHUP, function(){ echo '1'; }); pcntl_signal(SIGINT, function(){ echo '2'; }); pcntl_signal(SIGQUIT, function(){ ...

2019-12-04 18:34:36 525

原创 使用strace追踪php-fpm的系统调用

查看每个系统函数调用耗时占比 ps -ef|grep php-fpm|awk '{print " -cp " $2 " -o /tmp/strace.log"}' | xargs strace % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------...

2019-12-03 17:32:07 1107

原创 理解Laravel的中间件

<?php namespace App\Http\Middlewares; use Closure; use Illuminate\Support\Facades\Log; class TestMiddleware { public function handle($request, Closure $next) { Log::info($r...

2019-12-03 13:11:02 694

原创 使用Tideways和Toolkit对PHP代码进行性能分析

安装Tideways git clone https://github.com/tideways/php-xhprof-extension.git cd php-profiler-extension phpize ./configure make && make install php.ini加入 extension=tideways.so service php-fpm...

2019-12-03 12:39:17 655

空空如也

空空如也

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

TA关注的人

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