08 2020 档案
摘要:问题 上一章说过引用(REFERENCE)在PHP5的时候是一个标志位, 而在PHP7以后我们把它变成了一种新的类型:IS_REFERNCE. 然而引用是一种很常见的应用, 所以这个变化带来了很多的变化, 也给我们在做PHP7开发的时候, 因为有的时候疏忽忘了处理这个类型, 而带来不少的bug. 最
阅读全文
摘要:我们都知道Redis是个内存数据库,所有的数据都存储在内存中。一旦服务器上Redis进程退出,数据库中的数据就会丢失。 持久化是做什么事呢?持久化简单的理解就是将内存中的数据做个备份。 Redis的持久化有两种方法,即RDB持久化和AOF持久化。本文将会分两部分介绍这两种持久化方法,以及实现 一、R
阅读全文
摘要:RPC全称为Remote Procedure Call,翻译过来为"远程过程调用"。主要应用于不同的系统之间的远程通信和相互调用。 比如有两个系统,一个是PHP写的,一个是JAVA写的,而PHP想要调用JAVA中的某个类的某个方法,这时候就需要用到RPC了。 怎么调?直接调是不可能,只能是PHP通过
阅读全文
摘要:7.2版本异常与错误的概述 什么叫做异常? 异常是指程序运行中不符合预期情况以及与正常流程不同的状况。 比如你链接数据库,在参数都写上去的条件下,发现链接不上去,这就属于不符合预期 可以被 try-catch 捕捉得到 什么叫做错误? 是属于php程序自身的问题,一般是由非法的语法,环境问题导致的,
阅读全文
摘要:为了保证网络传输数据的安全性,涉及敏感数据的传输,最好对数据预先加密,然后再在网络上进行传输,同时,还要保证数据在另一端是可解密的,并且还必须要通过钥匙(公钥或私钥)才能解密,没有钥匙(公钥或私钥)的人即使是拿到了加密过的数据也无法解密。 对称加密 采用单钥密码系统的加密方法,同一个密钥可以同时用作
阅读全文
摘要:算法与数据结构 BTree和B+tree BTreeB树是为了磁盘或者其他存储设备而设计的一种多叉平衡查找树,相对于二叉树,B树的每个内节点有多个分支,即多叉。 参考文章:www.jianshu.com/p/da5... B+TreeB+树是B树的变体,也是一种多路搜索树。 参考文章:www.jia
阅读全文
摘要:SAPI 这里所说的 PHP 运行模式, 其实指的是 SAPI (Server Application Programming Interface,服务端应用编程端口 )。SAPI 为 PHP 提供了一个和外部通信的接口, PHP 就是通过这个接口来与其它的应用进行数据交互的。针对不同的应用场景,
阅读全文
摘要:PHP 是无处不在的,可以说是互联网 Web 应用上使用最广泛的语言。 然而,它的高性能并不为人所知,尤其是在涉及到高并发系统时。这就是为什么对于这样特殊的用例,正在被 Node (是的,我知道,它不是一种语言)、Go 和 Elixir 等语言接管。 也就是说,您可以做很多事情来改进服务器上的 PH
阅读全文
摘要:什么是跨域 跨域,指的是从一个域名去请求另外一个域名的资源。即跨域名请求!跨域时,浏览器不能执行其他域名网站的脚本,是由浏览器的同源策略造成的,是浏览器施加的安全限制。 什么是同源策略 同源策略是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击
阅读全文
摘要:问题描述 这几天做银行对帐接口时,踩了一个坑,具体需求大致描述一下。 银行每天凌晨后,会开始准备昨天的交易流水数据,需要我们这边请求拿到。 因为他们给的是一个base64加密的zip压缩流,解开以后可以得到txt文件,里面就是我们需要的数据了。 业务程序写好以后,随手丢了一个定时任务就去睡觉了。 哪
阅读全文
摘要:1.WEB服务器调用PHP接口 以Apache服务器为例,我们看看该服务器是怎样启动PHP,并调用PHP中的方法。Apache服务器启动并运行PHP时,一般是通过mod_php7模块的形式集成(如果是php5.*版本,就是mod_php5模块,模块后缀名根据php版本而定),mod_php7的结构如
阅读全文
摘要:使用PHP内置函数的性能优劣 尽可能少用魔法函数 抑制符@会产生额外开销 优化点:合理使用内存,利用unset()及时释放不使用的内存(unset()出现注销不掉的情况) 避免在循环内做运算 <?php $str="110world"; $strlen=strlen($str); for($i=0;
阅读全文
摘要:导读 Mysql在中小型企业中是个香饽饽,目前主流的数据库之一,几乎没有一个后端开发者不会使用的,但是作为一个老司机,仅仅会用真的不够。 今天透过一个简单的查询语句来讲述在Mysql内部的执行过程。 select * from table where id=10; 撸它 首先通过一张图片来了解一下M
阅读全文
摘要:ps:本篇内容包括精选面试题与知识篇。 PHP面试题关于PHP的垃圾回收机制,PHP的垃圾回收机制引用计数 (reference counting) GC 机制,PHP可以自动进行内存管理,清除不需要的对象,PHP面试题分享PHP关于垃圾回收机制的面试题: ★我的php学习交流社群——1023755
阅读全文
摘要:TCP 服务 swoole 文档 - TCP 服务 tcp 服务端 <?php // 1. 创建 swoole 默认创建的是一个同步的阻塞tcp服务 $host = "0.0.0.0"; // 0.0.0.0 代表接听所有 // 默认是tcp $serv = new Swoole\Server($h
阅读全文
摘要:PHP8 的 Alpha 版本,过几天就要发布了,其中包含了不少的新特性,当然我自己认为最重要的还是 JIT,这个我从 2013 年开始参与,中间挫折无数,失败无数后,终于要发布的东东。 不过,今天呢,我不打算谈 JIT,等 PHP8 发布了以后,我再单独写个类似《深入理解 PHP8 之 JIT》系
阅读全文
摘要:对PHP后端技术,对PHP架构技术感兴趣的朋友,我的官方群点击此处,一起学习,相互讨论。 群内已经有管理将知识体系整理好(源码,学习视频等资料),欢迎加群免费领取。 一、单节点实例 单节点实例还是比较简单的,平时做个测试,写个小程序如果需要用到缓存的话,启动一个 Redis 还是很轻松的,做为一个
阅读全文
摘要:Laravel — 了解用户上次在线的时间 本文是我在重构 Pulse 的代码库时记录下的见解,变更和反思系列文章的一部分。Pulse 是一个为开发人员设计的无痛且经济实惠的站点和服务器监控工具。 今天,我将讨论我是如何添加中间件功能来记录用户上次在线 / 使用该应用程序的时间。我想将其添加到 Pu
阅读全文
摘要:mysql 分表思路 一张一亿的订单表,可以分成五张表,这样每张表就只有两千万数据,分担了原来一张表的压力,分表需要根据某个条件进行分,这里可以根据地区来分表,需要一个中间件来控制到底是去哪张表去找到自己想要的数据。 中间件:根据主表的自增 id 作为中间件(什么样的字段适合做中间件?要具备唯一性)
阅读全文
摘要:延迟队列,顾名思义它是一种带有延迟功能的消息队列。那么,是在什么场景下我才需要这样的队列呢? 1. 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单 如何定期检查处于退款状态的订单是否已经退款成功 在订单长时间没有收到下游系统的状态通知的时候,如何实现阶梯式的同步订单状
阅读全文
摘要:本文是最初是来自国外的这篇:PHP Performance Evolution 2016, 感谢高可用架构公众号翻译成了中文版, 此处是转载的高可用架构翻译后的文章从PHP 5到PHP 7性能全评测(含未发布的JIT版PHP 8对比), 稍微调整了格式而成。 导读:PHP 是 Web 开发最常用的语
阅读全文
摘要:Redis限流的实现方式有3种,分别是:1、基于Redis的setnx的操作,给指定的key设置了过期实践;2、基于Redis的数据结构zset,将请求打造成一个zset数组;3、基于Redis的令牌桶算法,输出速率大于输入速率,就要限流。 第一种:基于Redis的setnx的操作 我们在使用Red
阅读全文
摘要:如今“敏捷开发”“不要重复造轮子”思想已经在软件开发方面盛行了。项目中以框架作为基础进行二次开发已经成为了首选方案。Laravel是一款优秀的PHP框架,在众多框架之中保持着一种领跑的姿态。Laravel比较突出的优点是组件式开发、Ioc容器、分布式运用架构设计。而说到PHP组件开发就不得不提到co
阅读全文
摘要:PHP 8,PHP 的一个新的大版本,预计将于 2020 年 12 月 3 日发布,这意味着将不会有 PHP 7.5 版本。PHP8 目前正处于非常活跃的开发阶段,所以在接下来的几个月里,情况可能会发生很大的变化。 我的PHP学习交流社区点击此处。 在这篇文章中,我会维持一个最新的清单列表,列出预计
阅读全文
摘要:Redis 6.0 来了 — 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之父Antirez在RC1版本发布时(2019-12-19)在他的博客上连续用了几个“EST”词语
阅读全文
摘要:官方解释:IOC - 控制反转 DI - 依赖注入 通俗举例:小明以前很穷,风餐露宿,居无定所。现在发财了,自己也想拥有属于自己的房子,这个时候小明想,要不回老家盖一栋房子,一来可以住,二来可以光宗耀祖,这个时候,小明需要自己去打造一栋房子;后来小明又想,为何不在城市里直接买套房呢,生活更加丰富多彩
阅读全文
摘要:PHP7 VS PHP5.6 1. Opcache 记得启用Zend Opcache, 因为PHP7即使不启用Opcache速度也比PHP-5.6启用了Opcache快, 所以之前测试时期就发生了有人一直没有启用Opcache的事情. 启用Opcache非常简单, 在php.ini配置文件中加入:
阅读全文
摘要:PHP做内存共享有两套接口。一个是shm,它实际上是变量共享,会把对象变量序列化后再储存。使用起来倒是挺方便,但是序列化存储对于效率优先的内存访问操作而言就没啥意义了。另外一个是shmop,它是Linux和Windows通用的,不过功能上比shm弱了一些,在 Linux 上,这些函数直接是通过调用
阅读全文
摘要:摘要:Redis相比其它的KV数据库,其一大特点是支持丰富的数据类型.它一共支持5种数据类型,下面逐一介绍这5种数据类型及其使用场景... string 简介:Strings数据类型是最常用、简单的key-value类型,普通的key/ value 存储都可以归为此类。value不仅可以是字符串,也
阅读全文
摘要:导读 Mysql在中小型企业中是个香饽饽,目前主流的数据库之一,几乎没有一个后端开发者不会使用的,但是作为一个老司机,仅仅会用真的不够。 今天透过一个简单的查询语句来讲述在Mysql内部的执行过程。 select * from table where id=10; 撸它 首先通过一张图片来了解一下M
阅读全文
浙公网安备 33010602011771号