php使用redis来实现限流和并发控制

在一些瞬时可能会有大量并发请求同时到达服务器的场景下,比如抢购、限时活动等等,如果不对并发量进行控制,瞬时的高并发可能会导致系统崩溃,这时我们就需要把一部分请求挡掉,可以结合redis来实现一个基本的限流功能。 function makeOrder(\Redis $redis, $concur...

2019-07-03 12:34:35

阅读数 19

评论数 0

PDO的ATTR_ERRMODE属性介绍

PDO可以通过设置ATTR_ERRODE属性来控制sql执行出错时的行为表现,具体可以设置以下三个值: PDO::ERRMODE_SILENT 静默模式,不会报错,只会设置PDO的 errorCode ​​​​​​​PDO::ERRMODE_WARNING会报warning错误 ​​​​​​...

2019-05-20 23:31:24

阅读数 22

评论数 0

nginx.conf、php-fpm.conf和php.ini三者之中的error_log指令之间的区别和联系

error_log这个指令在nginx的配置文件nginx.conf、php-fpm的配置文件php-fpm.conf以及php.ini三者中都存在,本文试图简要说明下这三个配置之间的区别和联系。 php.ini error_logstring 设置脚本错误将被记录到的文件。该文件必须是w...

2019-04-21 23:22:01

阅读数 103

评论数 0

php实现crc16算法

crc(循环冗余校验)是一种常用来检验数据完整性和正确性的算法,常用于网络传输校验,压缩算法等等,简单来说,crc把一个待校验字符串当作一个非常大的整数,然后除以一个特定的数,所得的余数就是crc校验值,只不过在进行除法运算时,对二进制数加减采用模二运算,也即异或运算,详细的crc介绍请参考:ht...

2019-04-06 23:52:22

阅读数 230

评论数 0

php向redis list一次性lPush多个值

php redis扩展没有介绍向list中一次性push多个值的用法,但其实lPush和rPush是支持push多个值的,文档中有介绍 lPush- Prepend one or multiple values to a list rPush- Append one or multiple ...

2019-03-28 00:19:31

阅读数 769

评论数 0

从递归(代码)的角度理解二叉树的先序/中序/后序三种遍历顺序

二叉树的遍历原理其实是很简单的,就是从二叉树的根节点开始,把它的左节点以及左节点下面的节点再当作一棵二叉树,和右节点以及右节点下面的节点也再当作一棵二叉树,依此类推,直到节点下面没有节点为止。二叉树的有三种遍历顺序:先序遍历、中序遍历、后序遍历,而这个顺序都是以根节点作为参照的,最先遍历根节点就是...

2018-04-28 20:11:46

阅读数 311

评论数 0

PHP实现系统编程(五)--- 编写守护进程详解

(一)进程组、会话、控制终端、控制进程等概念 进程组:每个进程都有一个所属的进程组 (process group),进程组有一个进程组长(process group leader),进程组ID即为这个进程组长的进程号,所以判断一个进程是否为进程组组长,只需比较该进称号是否和它的进程组id相等即可...

2018-01-30 18:12:20

阅读数 566

评论数 0

Linux下编译安装openssl不生成动态链接库.so的问题解决

使用官方提供的config命令默认竟然没有生成 .so,解决办法执行 ./config 时增加参数 shared,例如: ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl -Wl,-rpath,/usr/local/ssl/...

2018-01-11 00:08:25

阅读数 3690

评论数 0

FastCGI协议详解及代码实现

FastCGI协议是在CGI协议的基础上发展出来的,如果想了解CGI协议,可以看我另一篇文章:动态web技术(二) --- CGI,FastCGI程序本身监听某个socket然后等待来自web服务器的连接,而不是像CGI程序是由web服务器 fork-exec,所以FastCGI本身是一个服务端...

2017-12-27 20:30:07

阅读数 4442

评论数 2

(转)关于PHP程序员技术职业生涯规划

最近看到大牛说到PHP程序员技术职业生涯规划,立刻奉为真理,我本身不是计算机专业出身,但也深刻意识到基础的重要性,以下转自大牛的博客: 看到很多PHP程序员职业规划的文章,都是直接上来就提Linux、PHP、MySQL、Nginx、Redis、Memcache、jQuery这些,然后就直接上...

2017-12-17 14:46:59

阅读数 448

评论数 0

安装API网关kong遇到的一些坑及解决办法

安装API网关kong(https://getkong.org/)需要首先安装 OpenResty 和 PostgreSQL,这里就我安装的时候遇到的问题以及解决办法记录一下,供大家参考。 OpenResty安装很顺利,这里简单贴一下: yum install -y pcre-deve...

2017-12-11 15:11:59

阅读数 3755

评论数 0

使用原生PHP编写Redis扩展(客户端)介绍

Redis是典型的C/S架构软件,Client 和 Server 之间通过TCP连接进行通信,所以原则上只要是支持socket编程的语言都可以用来编写Redis的客户端,PHP自然也不例外,只是一般我们习惯上或出于性能考虑,使用C编写的Redis扩展。 PHP可以使用简单易用的 stream_so...

2017-12-07 17:22:54

阅读数 1293

评论数 0

CentOS安装 ping 命令

docker版的CentOS镜像由于做了精简,去掉了 ping 命令,那我们该如何安装这个命令呢 首先可以用 yum provides 命令来搜索哪个软件包里包含了 ping 命令

2017-12-06 17:08:45

阅读数 13101

评论数 0

etcdctl exec-watch 命令使用介绍

etcdctl exec-watch 命令可以检测某个key的值的改变,并执行相应的命令,帮助文档显示的用法: [root@localhost ~]# etcdctl exec-watch --help USAGE: etcdctl exec-watch [command opt...

2017-12-06 13:08:56

阅读数 301

评论数 0

docker创建lnmp镜像

docker是一个轻量级的虚拟化技术,而lnmp是一个强大、开源的web运行环境,这里我们就演示用Docker来构建一个lnmp镜像。 PS:Docker鼓励我们

2017-12-04 17:47:02

阅读数 3109

评论数 1

简单易懂的C语言实现双向链表代码

链表是一种常见的数据结构,链表中的每一个节点都保存了上一个或下一个元素的位置,所以表现为增删元素效率较高,查找元素效率较低 简单的C语言实现代码: #include #include #include //节点结构体,每个节点分别保存了一个指向前一个节点的指针和指向后一个节点的指针,以及保...

2017-12-01 14:01:58

阅读数 7062

评论数 0

Docker容器技术介绍(七)--- Dockerfile简介

Docker 创建镜像有多种方式,比如之前介绍过的docker commit 命令可以把我们在容器中的修改提交生成一个新的镜像,同时,我们还可以编写一个Dockerfile,然后让Docker去根据这个Dockerfile去构建镜像,而Dockerfile包含了生成这个镜像的基本信息。 一个Doc...

2017-11-28 19:35:17

阅读数 298

评论数 0

解决安装Docker CE for Windows之后VirtualBox无法启动虚拟机的问题

由于Docker是运行在linux系统上的,所以要想在windows上运行docker,需要通过虚拟机来运行docker,之前的Docker Toolbox(https://www.docker.com/products/docker-toolbox) 使用Oracle VM VirtualBox...

2017-11-27 12:54:16

阅读数 6607

评论数 1

PHP重置数组为连续数字索引的几种方式

比如这样的一个php数组: $arr = array( 1 => 'apple', 3 => 'banana', 5 => 'orange' ); 想要转换为这样的数组: $arr = array( 0 => 'apple', 1 ...

2017-11-22 19:07:49

阅读数 19682

评论数 1

vim安装go插件vim-go和gocode,支持代码高亮、代码提示和语法检查等功能

vim是linux系统下常用的代码编辑器,默认情况下不支持go的代码高亮和语法检查,不过可以通过安装vim插件来支持go的开发,golang官方也向我们推荐了一些vim的go插件(具体哪些插件请查看 https://github.com/golang/go/wiki/IDEsAndTextEdi...

2017-11-17 15:41:28

阅读数 20568

评论数 1

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