
php
zjc348
这个作者很懒,什么都没留下…
展开
-
从redis列表中一次pop出多个
要解决这个问题,我们就需要使用 Redis 的pipeline功能,它可以把多条命令放在一个网络请求中发送到服务器,并默认在一个事务中执行这些命令。一个事务是不会被打断的,从事务开始然后执行里面的多个命令到结束的整个过程,可以看做一个原子操作。pipeline的使用方法如下: $pipe = $redis->multi(Redis::PIPELINE); $pipe->lRang...原创 2020-04-17 14:25:14 · 7346 阅读 · 0 评论 -
代码灵异事件 -- php使用redis的hgetall方法出现的怪问题
首先浏览器请求报504,然后Postman请求无返回,长这样然后代码中打印出如下结果:最开始排查的时候考虑是不是内存问题 后来加大内存后还是出现同样的问题如上图可以看出 $hash变量是已经指向了$result但是改变 $hash或者 $result的变量名称后还是有问题后来发现在496行后给$hash重新赋值 [1] 就没有这样的问题了那应该就是hGetAll方法的问题了 ...原创 2019-12-24 09:20:21 · 1320 阅读 · 2 评论 -
php抽象类和接口的区别
引言:这是一个面试经常被问到的问题,也是一个经典问题。我们尽量引用官方权威的说明或者经过实验来证明本文所说的内容准确性。抽象类官方描述请查看文档,下面是官方描述的梳理版本:定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。(抽象类可以没有抽象方法,但是抽象类依然不能被实例化)被定义为抽象的方法只是声明了其调用方式(参数),...转载 2019-10-29 09:32:26 · 225 阅读 · 0 评论 -
用php实现一个简单的守护进程,多进程
首先我们要知道创建守护进程的五个步骤:创建子进程,终止父进程在子进程中创建新会话改变工作目录(默认继承了父进程的当前工作目录)重设文件创建掩码(默认继承了父进程的文件创建掩码)关闭文件描述符(默认继承了父进程打开了的文件)然后直接上代码<?phpfunction daemon() { // fork一个子进程 $pid = pcntl_fork();...原创 2019-09-21 10:58:49 · 274 阅读 · 0 评论