自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 七牛云上传文件、视频截图、合成gif图

七牛云上传文件、视频截图、合成gif图include ROOT_PATH.'/addons/ucloud/vendor/qiuniu/autoload.php';use Qiniu\Auth; //使用auth类use Qiniu\Storage\UploadManager;use Qiniu\Processing\Operation;use Qiniu\Processing\Pers...

2020-01-11 14:58:34 1448

原创 腾讯云上传文件

腾讯云上传文件到指定地域、指定桶include ROOT_PATH.'/addons/ucloud/vendor/cos-php-sdk-v5/vendor/autoload.php';use TencentCloud\Vod\V20180717\Models\DescribeTaskDetailRequest;use TencentCloud\Vod\V20180717\Models\Pr...

2020-01-11 14:48:32 710

原创 fastadmin插件开发

1 插件框架结构blog├── application //此文件夹中所有文件会覆盖到根目录的/application文件夹├── assets //此文件夹中所有文件会复制到/public/assets/addons/blog文件夹├── controller //此文件夹为插件控制器目录├── lang //此文件夹为插件语言包目录├...

2019-12-30 17:15:10 1622

原创 使用convas实现html生成图片

convas实现html生成图片

2019-06-11 13:57:27 407

原创 mysql死锁

关于死锁MyISAM表锁是deadlock free的,这是因为MyISAM总是一次性获得所需的全部锁,要么全部满足,要么等待,因此不会出现死锁。但是在InnoDB中,除单个SQL组成的事务外,锁是逐步获得的,这就决定了InnoDB发生死锁是可能的。发生死锁后,InnoDB一般都能自动检测到,并使一个事务释放锁并退回,另一个事务获得锁,继续完成事务。但在涉及外部锁,或涉及锁的情况下,InnoD...

2019-03-26 10:19:49 827

原创 mysql锁机制

MyISAM引擎表锁1、表锁分为表共享锁和表独占写锁对MyISAM的读操作,不会阻塞其他用户对同一表请求,但会阻塞对同一表的写请求;对MyISAM的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作和写操作之间,以及写操作之间是串行的。2、表锁实现的方法LOCK TABLES remind_message READ LOCAL ,remind_message WR...

2019-03-25 11:01:03 114

原创 apache与nginx的优缺点

1、nginx相对于apache的优点nginx是轻量级的,占用内存资源较少抗并发性较好,nginx处理请求是异步非阻塞型的,apache处理请求是同步阻塞的,在高并发下nginx能保持低资源低消耗高性能高度模块下的设计,编写模块相对简单2、apche相对于nginx的优点rewrite比nginx的rewrite强大模块超多bug相对与nginx较少3、作为web服务器...

2019-03-21 20:54:48 217

原创 mysql索引本质 B-tree和B+tree

mysql索引本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是一种数据结构。数据库查询是数据库的主要功能之一,最基本的查询算法是顺序查找(linear search)时间复杂度为O(n),显然在数据量很大时效率很低。优化的查找算法如二分查找(binary search)、二叉树查找(binary tree s...

2019-03-19 12:17:06 282

原创 nginx负载均衡配置详解

配置nginx实现负载均衡一、负载均衡的作用1、转发功能按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。2、故障移除通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。3、恢复添加如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。二、Nginx实现...

2019-03-11 21:06:47 15659 1

原创 nginx反向代理配置

nginx反向代理配置设置一个新的xx.conf文件upstream http_matrixtmp_ghs{ server xx.xx.xx.xx:80;//内网服务器,做负载均时可设置权重}log_format http_matrixtmp_ghs '$remote_addr - $remote_user [$time_local] "$request" ' ...

2019-03-11 21:05:30 133

原创 工厂模式

工厂模式1、工厂模式简介工厂模式(Factory Design Pattern)作为一种创建型设计模式, 遵循了开放-封闭原则, 对修改封闭, 对扩展开放. 工厂方法(Factory Method)模式就是要创建"某种东西". 对于工厂方法模式, 要创建的"东西"是一个产品,这个产品与创建它的类之间不存在绑定.实际上,为了保持这种松耦合,客户会通过一个工厂发出请求. 再由工厂创建所请求的产品....

2019-03-07 16:16:51 114

原创 nginx配置详解

nginx配置详解user nobody;#启动进程,通常设置成和cpu的数量相等worker_processes 1; #全局错误日志及PID文件#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; #pid logs/ng...

2019-03-07 14:03:48 107

原创 PHP性能优化问题简析

PHP性能问题解决的方向1、PHP语言级的性能优化2、PHP周边问题的性能优化3、PHP语言自身的分析优化(c语言)

2019-03-06 17:19:55 185

原创 PHP基础进阶

PHP基础进阶1、面向对象的设计的五大原则单一职责原则接口隔离原则开放-封闭原则替换原则依赖-倒置原则2、sql优化的十个原则不要在列上进行函数运算,会导致索引失效使用join时,应使用小结果集驱动大结果集,把复杂的join查询拆分为多条sql使用like查询时,尽量避免%%,可使用<=,>=select查询时,避免使用*,列出所需要的列,对查询速度不会有明...

2019-03-06 13:33:17 151

原创 TCP/IP协议

TCP/IP协议传输层通讯协议面向连接的、可靠的、基于字节流的建立连接需要三次握手TCP/IP协议族按照层次由上到下,层层包装。应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能...

2019-03-05 22:55:00 139

原创 分区操作

分区操作1、分区类型Range分区:是对一个连续性的行值,按范围进行分区;比如:id小于100;id大于100小于200;List分区:跟range分区类似,不过它存放的是一个离散值的集合。Hash分区:对用户定义的表达式所返回的值来进行分区。可以写partitions (分区数目),或直接使用分区语句,比如partition p0 values in……。Key分区:与hash分区类...

2019-02-28 11:09:43 227

原创 Mysql的高可用性和高扩展性

Mysql的分表操作和分区的工作原理分区表1、原理对于用户而言,分区表是一个独立的逻辑表,但是底层的Mysql将其分成了多个物理子表,对于用户来说是透明的,每一个分区表都会使用一个独立的表文件创建表时使用partition by子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义那些没有我们需要数据的分区,这样查询只需要查询我们需要数据的分区即可分区的主要目的是将数据按照比较...

2019-02-27 22:56:06 1076

原创 ++i与i++的区别

++i与i++的区别1、++i (i=2)例:a=++i;则 a = 3; i =3解释:这则运算是 现将i自身加1在赋值给a,所以a和i是相等的2、i++ (i=2)例:a = i++;则 a= 2;i=3解释:这则运算是 现将i赋值给a,自身再加1,所以a比i小...

2019-02-26 18:00:43 408

原创 二分法查找

二分法查找<?phpfunction binarySearch($array, $val) { $count = count($array); $low = 0; $high = $count - 1; while ($low <= $high) { $mid = intval(($low + $high) / 2); ...

2019-02-25 21:21:36 139

原创 冒泡排序

php冒泡排序算法function bubbleSort($numbers) { $cnt = count($numbers); for ($i = 0; $i < $cnt - 1; $i++) { for ($j = 0; $j < $cnt - $i - 1; $j++) { if ($numbers[$j] > $...

2019-02-25 21:05:14 105 1

原创 单例模式

1、单例模式介绍单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模式至少拥有以下三种公共元素:它们必须拥有一个构造函数,并且必须被标记为private它们拥有一个保存类的实例的静态成员变量它们拥有一个访问这个实例的公共的静态方法单例类不能再其它类中直接实例化,只能被其自身实例化。它不会创建实例副本,而是会向单例类内部存储...

2019-02-25 18:33:50 112

原创 php-fpm的运行原理和运行模式

运行原理:cgi初始化阶段:分别调用fcgi_init()和 sapi_startup()函数,注册进程信号以及初始化sapi_globals全局变量。php环境初始化阶段:由cgi_sapi_module.startup 触发。实际调用php_cgi_startup函数,而php_cgi_startup内部又调用php_module_startup执行。 php_module_startu...

2019-02-22 11:56:57 1020

原创 docker入门应用

docker 入门应用

2019-02-11 18:07:12 5592

原创 高并发处理方案

下面为大家梳理一下高并发处理的思路,从几个方面进行解决1、流量处理防盗链处理(可以在nginx.conf配置,做加密处理,或者请求域名限制)2、前端优化减少HTTP请求,减少css,js,image等组件的请求数(例如设置地图图片请求)添加异步请求(ajax的异步请求等)启用浏览器缓存和文件压缩CDN加速(cdn的工作原理要明确,可以选用LVS做4层负载均衡,nginx或者sq...

2018-11-01 11:58:00 154

原创 js微信分享后端支持

js微信分享后端支持1、微信回调地址域 当前微信公众号使用,获取用户微信信息,需要绑定到微信开放平台 js回调域名可以填写三个,一个月可以更改3次 页面回调地址可以填写2个 需要将文件上传到服务器根目录 访问域名需要是https可以访问,否则前端可能出现错误,分享仅支持https2、当前页面路由分享当前页,当前页路由前端通过接口传给后端 获取access_token,最好做...

2018-09-19 23:41:33 141

原创 php获取url中的扩展名

获取url中的扩展名 function getUrlExt($url){ // url路径 $path = parse_url($url, PHP_URL_PATH); // 从url路径获取扩展名 $ext = pathinfo($path, PATHINFO_EXTENSION); return $ext; ...

2018-06-16 18:41:51 753

原创 php实现求数组中最大和的子数组

如何实现求给定数组中的和最大的连续子数组function get_max_value($arr) { $max_sum=0;//最大的值 $max_start=0;//和最大子数组开始下标 $max_end=0;//和最大的子数组结束下标 $length=count($arr)-1;//数组最大下标 for ...

2018-06-16 18:40:28 512

原创 mysqli的预编译机制

防止sql注入时,我们可以运用mysqli扩展的预编译来实现举例说明:假如在做用户登录时,我们用用户名、密码来实现登录,我们怎么来实现防sql注入(此处只讲mysqli的方法)假如用户表有user_name,password字段,登录时,我们提交,用户名和密码时,后台处理 $user_name = $params['user_name'];  $password = m...

2018-06-16 11:37:20 544

原创 left join, right join ,inner join ,full join 的区别

假如有两张,表A和表Bleft join 的时候,表A为主表,数据查询得到的结果是表A的所有信息和与表B相关的信息right join 的时候,表B为主表,数据查询得到的结果是表B的所有信息和与表A相关的信息inner join 的时候,数据查询得到的结果是表B与表A交集的部分full join 的时候,数据查询得到的结果是表B与表A的多有信息...

2018-06-06 00:25:38 425 1

原创 mysql常用操作

1、联表查询left join 的使用假如有两张表,一张学生信息表 students,一张学期成绩表results,那么把第一学期的学生总成绩,按照从高到低排序,取前十名怎么来写呢select r.students_id,sum(score) nums from results r left join students s on r.students_id=s.students_id...

2018-06-06 00:12:28 277

原创 linux的权限问题

r 代表读(read),w 代表写(write),x 代表执行(execute)读,权限是二进制的100,十进制是4;写,权限是二进制的010,十进制是2;执行,权限是二进制的001,十进制是1;具备多个权限,就把相应的 4、2、1 相加就可以了:若要 rwx 则 4+2+1=7若要 rw- 则 4+2=6若要 r-x 则 4+1=5若要 r-- 则 =4若要 -wx 则 2+1=3若要 -w- ...

2018-06-04 23:17:09 119

原创 全文索引的使用

百度搜索怎么做到快速检索的呢,是用到了全文索引,以mysql为例,介绍一下全文索 CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY , title VARCHAR(200), body TEXT, FULLTEXT(title,body) ) ENGINE = MyIsam C...

2018-06-03 12:38:31 1337

原创 nginx负载均衡的配置

配置nginx实现负载均衡一、负载均衡的作用1、转发功能按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。2、故障移除通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。3、恢复添加如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。二、Nginx实现...

2018-03-11 21:52:49 167

原创 MySQL数据库层的优化思路

下面为大家梳理一下mysql数据库层的优化思路1、数据表数据类型的优化注意tinyint,samllint,bigint的区别。int(10)和int(11)的区别在于显示的宽度上,存储能力是一样的 char和varchar的区别。已知大约长度值,一般用var效率更高。2、索引优化索引并非越多越好,合适的字段上创建合适的作引,索引会影响增删改操作,并且占用磁盘空间,更新...

2018-03-11 21:47:00 198

原创 处理高并发的思路

下面为大家梳理一下高并发处理的思路,从几个方面进行解决1、流量处理防盗链处理(可以在nginx.conf配置,做加密处理,或者请求域名限制)2、前端优化减少HTTP请求,减少css,js,image等组件的请求数(例如设置地图图片请求) 添加异步请求(ajax的异步请求等) 启用浏览器缓存和文件压缩 CDN加速(cdn的工作原理要明确,可以选用LVS做4层负载均衡,nginx或...

2018-03-11 21:27:24 1489

空空如也

空空如也

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

TA关注的人

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