分类: 后端

18 篇文章

PHP-FPM是如何工作的?
首先了解一下几个知识点。CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。PHP-FPM:是 PHP(We…
PHP开发api签名验证
开发过程中,我们经常会与接口打交道,有的时候是调取别人网站的接口,有的时候是为他人提供自己网站的接口,但是在这调取的过程中都离不开签名验证。 我们在设计签名验证的时候,请注意要满足以下几点: 可变性:每次的签名必须是不一样的。 时效性:每次请求的时效,过期作废等。 唯一性:每次的签名是唯一的。 完整性:能够对传入数据进行验证,防止篡改。 这里介绍一…
用PHP实现SSO单点登录
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一,下面我们来看看吧。 简单讲一下 SSO 单点登录系统的接入的原理,前提是系统本身有完善的用户认证功能…
Swoole协程与Go协程有哪些区别?
一、进程、线程、协程 进程是什么? 进程就是应用程序的启动实例。例如:打开一个软件,就是开启了一个进程。进程拥有代码和打开的文件资源,数据资源,独立的内存空间。 线程是什么? 线程属于进程,是程序的执行者。一个进程至少包含一个主线程,也可以有更多的子线程。线程有两种调度策略,一是:分时调度,二是:抢占式调度。 协程是什么? 协程是轻量级线程, 协程…
静态化API是什么?用Swoole如何去实现呢?
什么是静态化API?静态化API可以理解成把一些接口的数据存储在服务器本地。常用的是存成json文件,也可以是放在swoole的table中,总之是用户不从数据库直接读取数据,而是从本地加载的方式来大幅提高性能,因为很多系统的性能瓶颈是在数据库的位置。 解决方案方案1 easySwoole + crontab方案2 easySwoole定时器方案3…
异步定时多任务消息推送,用php怎么做 ?
要实现异步定时多任务消息推送,可以使用多种技术来实现,如Redis、RabbitMQ、Beanstalkd等消息队列服务。 在设计数据表时,可以考虑创建一个 tasks 表,用于存储所有需要推送的任务信息。该表可以包含以下字段:id:任务ID,自增长整数类型;name:任务名称,用于描述该任务的作用;type:任务类型,用于区分不同类型的任务;da…
php操作ElasticSearch示例
一、安装 通过composer安装 composer require 'elasticsearch/elasticsearch' 二、使用 创建ES类 <?php require 'vendor/autoload.php'; //如果未设置密码 $es = \Elasticsearch\ClientBuilder::create()->set…
MySQL进阶用法
SQL 优化 插入数据 普通插入: 采用批量插入(一次插入的数据不建议超过1000条) 手动提交事务 主键顺序插入 大批量插入: 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令插入。 # 客户端连接服务端时,加上参数 --local-infile(这一行在bash/cmd界面输入) m…