- 博客(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
1605
原创 腾讯云上传文件
腾讯云上传文件到指定地域、指定桶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
798
原创 fastadmin插件开发
1 插件框架结构blog├── application //此文件夹中所有文件会覆盖到根目录的/application文件夹├── assets //此文件夹中所有文件会复制到/public/assets/addons/blog文件夹├── controller //此文件夹为插件控制器目录├── lang //此文件夹为插件语言包目录├...
2019-12-30 17:15:10
1797
原创 mysql死锁
关于死锁MyISAM表锁是deadlock free的,这是因为MyISAM总是一次性获得所需的全部锁,要么全部满足,要么等待,因此不会出现死锁。但是在InnoDB中,除单个SQL组成的事务外,锁是逐步获得的,这就决定了InnoDB发生死锁是可能的。发生死锁后,InnoDB一般都能自动检测到,并使一个事务释放锁并退回,另一个事务获得锁,继续完成事务。但在涉及外部锁,或涉及锁的情况下,InnoD...
2019-03-26 10:19:49
876
原创 mysql锁机制
MyISAM引擎表锁1、表锁分为表共享锁和表独占写锁对MyISAM的读操作,不会阻塞其他用户对同一表请求,但会阻塞对同一表的写请求;对MyISAM的写操作,则会阻塞其他用户对同一表的读和写操作;MyISAM表的读操作和写操作之间,以及写操作之间是串行的。2、表锁实现的方法LOCK TABLES remind_message READ LOCAL ,remind_message WR...
2019-03-25 11:01:03
150
原创 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
265
原创 mysql索引本质 B-tree和B+tree
mysql索引本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是一种数据结构。数据库查询是数据库的主要功能之一,最基本的查询算法是顺序查找(linear search)时间复杂度为O(n),显然在数据量很大时效率很低。优化的查找算法如二分查找(binary search)、二叉树查找(binary tree s...
2019-03-19 12:17:06
312
原创 nginx负载均衡配置详解
配置nginx实现负载均衡一、负载均衡的作用1、转发功能按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。2、故障移除通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。3、恢复添加如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。二、Nginx实现...
2019-03-11 21:06:47
15928
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
171
原创 工厂模式
工厂模式1、工厂模式简介工厂模式(Factory Design Pattern)作为一种创建型设计模式, 遵循了开放-封闭原则, 对修改封闭, 对扩展开放. 工厂方法(Factory Method)模式就是要创建"某种东西". 对于工厂方法模式, 要创建的"东西"是一个产品,这个产品与创建它的类之间不存在绑定.实际上,为了保持这种松耦合,客户会通过一个工厂发出请求. 再由工厂创建所请求的产品....
2019-03-07 16:16:51
141
原创 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
130
原创 PHP基础进阶
PHP基础进阶1、面向对象的设计的五大原则单一职责原则接口隔离原则开放-封闭原则替换原则依赖-倒置原则2、sql优化的十个原则不要在列上进行函数运算,会导致索引失效使用join时,应使用小结果集驱动大结果集,把复杂的join查询拆分为多条sql使用like查询时,尽量避免%%,可使用<=,>=select查询时,避免使用*,列出所需要的列,对查询速度不会有明...
2019-03-06 13:33:17
183
原创 TCP/IP协议
TCP/IP协议传输层通讯协议面向连接的、可靠的、基于字节流的建立连接需要三次握手TCP/IP协议族按照层次由上到下,层层包装。应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能...
2019-03-05 22:55:00
162
原创 分区操作
分区操作1、分区类型Range分区:是对一个连续性的行值,按范围进行分区;比如:id小于100;id大于100小于200;List分区:跟range分区类似,不过它存放的是一个离散值的集合。Hash分区:对用户定义的表达式所返回的值来进行分区。可以写partitions (分区数目),或直接使用分区语句,比如partition p0 values in……。Key分区:与hash分区类...
2019-02-28 11:09:43
273
原创 Mysql的高可用性和高扩展性
Mysql的分表操作和分区的工作原理分区表1、原理对于用户而言,分区表是一个独立的逻辑表,但是底层的Mysql将其分成了多个物理子表,对于用户来说是透明的,每一个分区表都会使用一个独立的表文件创建表时使用partition by子句定义每个分区存放的数据,执行查询时,优化器会根据分区定义那些没有我们需要数据的分区,这样查询只需要查询我们需要数据的分区即可分区的主要目的是将数据按照比较...
2019-02-27 22:56:06
1179
原创 ++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
546
原创 二分法查找
二分法查找<?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
167
原创 冒泡排序
php冒泡排序算法function bubbleSort($numbers) { $cnt = count($numbers); for ($i = 0; $i &lt; $cnt - 1; $i++) { for ($j = 0; $j &lt; $cnt - $i - 1; $j++) { if ($numbers[$j] &gt; $...
2019-02-25 21:05:14
162
1
原创 单例模式
1、单例模式介绍单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模式至少拥有以下三种公共元素:它们必须拥有一个构造函数,并且必须被标记为private它们拥有一个保存类的实例的静态成员变量它们拥有一个访问这个实例的公共的静态方法单例类不能再其它类中直接实例化,只能被其自身实例化。它不会创建实例副本,而是会向单例类内部存储...
2019-02-25 18:33:50
142
原创 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
1079
原创 高并发处理方案
下面为大家梳理一下高并发处理的思路,从几个方面进行解决1、流量处理防盗链处理(可以在nginx.conf配置,做加密处理,或者请求域名限制)2、前端优化减少HTTP请求,减少css,js,image等组件的请求数(例如设置地图图片请求)添加异步请求(ajax的异步请求等)启用浏览器缓存和文件压缩CDN加速(cdn的工作原理要明确,可以选用LVS做4层负载均衡,nginx或者sq...
2018-11-01 11:58:00
183
原创 js微信分享后端支持
js微信分享后端支持1、微信回调地址域 当前微信公众号使用,获取用户微信信息,需要绑定到微信开放平台 js回调域名可以填写三个,一个月可以更改3次 页面回调地址可以填写2个 需要将文件上传到服务器根目录 访问域名需要是https可以访问,否则前端可能出现错误,分享仅支持https2、当前页面路由分享当前页,当前页路由前端通过接口传给后端 获取access_token,最好做...
2018-09-19 23:41:33
172
原创 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
812
原创 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
559
原创 mysqli的预编译机制
防止sql注入时,我们可以运用mysqli扩展的预编译来实现举例说明:假如在做用户登录时,我们用用户名、密码来实现登录,我们怎么来实现防sql注入(此处只讲mysqli的方法)假如用户表有user_name,password字段,登录时,我们提交,用户名和密码时,后台处理 $user_name = $params['user_name']; $password = m...
2018-06-16 11:37:20
586
原创 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
499
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
316
原创 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
205
原创 全文索引的使用
百度搜索怎么做到快速检索的呢,是用到了全文索引,以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
1411
原创 nginx负载均衡的配置
配置nginx实现负载均衡一、负载均衡的作用1、转发功能按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。2、故障移除通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器。3、恢复添加如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中。二、Nginx实现...
2018-03-11 21:52:49
206
原创 MySQL数据库层的优化思路
下面为大家梳理一下mysql数据库层的优化思路1、数据表数据类型的优化注意tinyint,samllint,bigint的区别。int(10)和int(11)的区别在于显示的宽度上,存储能力是一样的 char和varchar的区别。已知大约长度值,一般用var效率更高。2、索引优化索引并非越多越好,合适的字段上创建合适的作引,索引会影响增删改操作,并且占用磁盘空间,更新...
2018-03-11 21:47:00
255
原创 处理高并发的思路
下面为大家梳理一下高并发处理的思路,从几个方面进行解决1、流量处理防盗链处理(可以在nginx.conf配置,做加密处理,或者请求域名限制)2、前端优化减少HTTP请求,减少css,js,image等组件的请求数(例如设置地图图片请求) 添加异步请求(ajax的异步请求等) 启用浏览器缓存和文件压缩 CDN加速(cdn的工作原理要明确,可以选用LVS做4层负载均衡,nginx或...
2018-03-11 21:27:24
1569
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人