- 博客(23)
- 收藏
- 关注
原创 PHP7.4的闭包函数简例
短闭包,也叫做箭头函数,是一种用 php 编写的短函数。当向函数中传递闭包时,这个功能是非常有用的,比如使用 array_map 或是 array_filter 函数时.这就是它们看起来的样子// Post 对象的集合$posts = [/* … */];$ids = array_map(fn($post) => $post->id, $posts);而以前,你必须这样写:...
2021-03-24 16:46:28
385
原创 shell实现多文件合并压缩包-小记
$zip_path = root_path().'public' .IRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.'zip'.DIRECTORY_SEPARATOR;#压缩包存储路径上级 exec("mkdir -p {$zip_path}{$file_name}");#创建存储压缩包的文件夹 foreach ($file as $k=>$v){#要压缩的文件集合 $path=ro...
2021-03-23 14:13:46
577
1
转载 收藏的一篇基本的编码规范
PHP程序员为什么要培养自己的编码规范?为什么我们要培养自己的编码规范?我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:1.提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴嘛!2.提高代码的可读性。3.显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!4.方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调!编码规范包含两大块,代码规范和注释规范...
2020-05-23 19:02:40
650
转载 sql性能优化梳理
先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优化展开。1 基本概念简述1.1 逻辑架构 第一层:客户端通过连接服务,将要执行的sql指令传输过来 第二层:服务器解析并优化sql,生成最终的执行计划并执行 第三层:存储引擎,负责数据的储存和提取 1.2 锁数据库通过锁机制来解决并发场景-共享锁(读锁)和排他锁(写锁)。读锁是不...
2019-11-29 14:29:36
121
转载 大数据分页优化
大数据分页优化偏移量越大,查询速度越慢1、第一种简单粗暴,就是不允许查看这么靠后的数据,比如百度就是这样的2、第二种方法,在查询下一页时把上一页的行id作为参数传递给客户端程序,然后sql就改成了select * from table where id>3000000 limit 10;3、最后第三种方法:延迟关联玄机就处在这个 * 里面,这个表除了id主键肯...
2019-05-23 18:13:46
158
转载 nginx负载均衡解释与搭建
网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时候来自web前端的压力,也能让人十分头痛。怎样将同一个域名的访问分散到两台或更多的机器上呢?这其实就是另一种负载均衡了,nginx自身就可以做到,只需要做个简单的配置就行。 nginx不单可以作为强大的web服务器,也可以作为一个...
2019-05-23 17:51:17
133
转载 linux查询端口号占用情况命令
http://jingyan.baidu.com/article/546ae1853947b71149f28cb7.html1、lsof -i:端口号2、netstat -tunlp|grep 端口号都可以查看指定端口被哪个进程占用的情况工具/原料 linux,windows xshell 方法/步骤 【步骤一】lsof -i...
2019-05-23 16:57:02
1001
翻译 php文件上传原理
客户端将传输的文件转换成二进制码,传到服务器,服务器将二进制对应成为文件。并临时存储在缓存池,供php操作存储期限为半小时,当php完成存写操作后会清除缓存池。上传的大小可以在php.ini中设置...
2019-03-19 15:26:51
577
转载 健壮性和可靠性
健壮性和可靠性系统的健壮性(robustness)也称为系统的坚固性或坚实性,这是衡量一个系统能否从各种出错条件下恢复能力的一种测度。引起出错的条件可以是来自系统内部,也可以是系统外部的。比如:一个健壮的系统可以容许数据输入的错误,也可以允许内部组成部件的故障。虽然在健壮性与可靠性之间有着一定的联系,但是两者是不同的测度。 提高可靠性的技术一般可以分为两类,一类是避免故障,在开发过程中,尽可能不让...
2018-07-06 18:47:12
13447
翻译 面向对象的三大特性五大原则
三大特性 1,分装 2,继承 3,多态 五大原则 单一职责原则(SRP) 开放封闭原则(OCP) 里氏替换原则(LSP) 依赖倒置原则(DIP) 接口隔离原则(ISP) 单一职责原则(SRP)• 一个类应该仅有一个引起它变化的原因(最简单,最容易理解却最不容易做到...
2018-06-28 15:42:09
215
翻译 session存入redis的几种方式
1,int_set('session.save_path',值);2,session.save_path="http"//127.0.0.1:6379?Auth=密码";3,session_set_save_handler(open,close,read,write,delete,destroy);因为session是有有效期的默认为24分钟 1440秒 调用一次会更新一次时间,ses...
2018-06-08 20:35:22
6700
翻译 负载均衡
负载均衡 1,通过集群的范式解决高并发 2,缓解服务器压力 负载均衡的方式 LVS 正向代理 nginx反向代理 分发的几种请求 ...
2018-06-08 20:12:44
158
转载 主从延迟 的原因和解决方法
主库是单线程的 从库是多线程1,从缓存中读取数据2,提高从库配置3,禁用存库的二进制我日志 bin_log4,配置中修改 sync_binlog=0 0:系统判断接受到更新后立刻同步 1: 效率是0的5倍 但性能占用大5,log_slave_update_log6,使用中间件 mysql _proxy7,强制从主库取数据...
2018-06-08 14:15:17
3540
翻译 高并发优化
前台优化1,减少HTTP请求 —— css文件合并 js 文件合并2, 压缩js css文件3,雪碧图4,懒加载 只加载看到的第一屏内容,下拉之后看到其他的内容。5,预加载 加载默认图6,避免css样式表达式7,CDN加速服务端优化:1、页面静态化 2、负载均衡 集群3、分布式4、使用队列代码优化:1、用单引号代替双引号,双引号会查找变量2、避免使用require_once requir...
2018-06-01 16:38:35
197
原创 mysql 的几种缓存
1,缓存穿透 当查询缓存是无此key对应的值,后去数据库查询,数据库有值时存入缓存无值时返回无此值,但再一次查此key是还是一样的结果,但大量的访问此key是对数据库会造成更大的压力 解决办法 当查询缓存是无此而已的值时,查询数据库,有值时存入缓存,物质是同样存入一个null 并设置较短的有效时间,但再次查询此key...
2018-06-01 15:59:57
8200
翻译 负载均衡 的原理 分发请求 优缺点
1,轮询 将请求按时间顺序逐一分配到不同的服务端,如果有检测到一台服务器宕机机会将请求分配到另一台服务器 前提是服务器的配置都一样2,权重 多个服务器性能不均匀是 自动将不同的请求分配到服务器使性能高的服务器处理更多的请求3,ip哈希(ip_hash) 将请求的ip哈希结果分配到同一台服务器,将每个访客固定访问同一台服务器,可以解决s...
2018-05-25 19:13:54
1271
原创 MYSQL主主复制
1、两台机器上都建立用户,并赋予复制权限GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO mysql_backup@'%' IDENTIFIED BY '123456';如果两个mysql版本不一样 在高版本配置中添加 binlog_checksum=none #不检测日志文件格式修改配置文件 MASTER1:[mysqld]# for replser...
2018-05-25 16:08:59
242
原创 接口安全
加强接口安全有几种方法 1,鉴权 接口端给h5端一个账号 密码 将h5端传输数据转为json串与密码转为json串拼接在一起 md5 生成秘钥 将秘钥,账号与数据传入接口 接口将判断是否有收到的账号 没有就拦截 如果有将传入的数据json化和与账号对应的密码json化拼接md5对比 2,签名 h5端调接口是 将...
2018-05-24 21:41:13
569
原创 mysql主从搭建流程
1,配置前准备如果是在同一台服务器 需要配置环境变量并且停用以前的环境变量复制新的mysql中my-default.ini复制一份改名为my.ini进入my.ini添加配置 [mysqld] #安装目录 basedir=D:\Mysql_Server_5.6.24 #运行目录 datadir=D:\Mysql_Server_5.6.24\data #日志配置 如果配置此项需要将目录实...
2018-05-24 20:59:16
2884
翻译 thinkPHP5 POST不能传数组解决方法
在tp5中post传数组是 会报如此错 variable type error:array解决法 接值时 request()->post('键名/a') /a 相当于告诉框架这是一个数组
2018-05-22 20:05:33
6628
原创 简单无限级分类实现
所有分类数据 $arr /***$arr 所有分类数据*$pid 父级id 第一次为0*/public function getson($arr,$pid){ $test=[]; foreach ($arr as $key => $v) { if ($v['parent_id']==$pid) { $v['son']=$this->getson($arr,$v[...
2018-05-19 14:23:29
197
转载 错误码总结
- 200--服务器成功返回网页- 404--请求网页不存在 ---###### 1xx--(临时相应)表示临时相应并需要请求者继续执行操作- 100--(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分- 101--(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换 ---###### 2xx--(成功))表示成功处理了请求的状态代码。...
2018-05-16 14:44:38
351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人