php swoft框架实例用法


Posted in PHP onDecember 22, 2020

在框架选择上,不少人会觉得swoft才是最强PHP框架,尤其是在常驻内存模式的应用级高性能框架,性能是这一堆页面级框架遥不可及的,但是使用上稍微有点欠缺,内容稍微复杂,不如easyswoole好上手,但是性能上是绝对的好用,大家如果在编写项目时候,强烈要求使用性能,就可以了解下这个框架。

使用场景

微服务治理的最佳框架

优点

内存模式的应用级高性能框架

使用流程

1、服务注册

2、服务取消

3、服务限制

实现代码:

class BreakerLogic
{
/**
* @Breaker(fallback="funcFallback")
*
* @return string
* @throws Exception
*/
public function func(): string
{
// Do something
throw new Exception('Breaker exception');
}

关于swoft框架的基础知识点

使用Swoft框架注意事项

因为Swoft是基于Swoole,所以和普通的PHP框架还是很不一样的,有些是需要注意的。

1.不要再代码中执行sleep()以及其他睡眠函数,这样会导致整个进程阻塞。

2.不要使用exit/die函数,这样会导致worker进程直接退出。

3.进程隔离需要注意的,当修改了全局变量的值,会不生效,因为全局变量在不同的进程中,内存空间是隔离的。使用Swoft框架需要了解进程隔离问题。不同的进程中PHP变量不是共享,即便是全局变量。如果不同的进程需要共享数据,可以使用Redis,Mysql,消息队列,文件,Swoole/Table,APCu(php自带的缓存扩展),shmget(进程通信(IPC)共享内存)等工具。同时不同进程的文件句柄也是隔离的,所以在A进程创建的Socker连接打开的文件在B进程内是无效的。

4.进程克隆,当server启动时候,主进程会克隆当前进程状态,此后开始进程内的数据互相独立,互不影响。

5.不要再控制器写基类来写公共的变量,这样会造成数据污染,当下一个请求进来依然会请求到这个变量,因为常驻内存并且单利所以不会释放掉。

到此这篇关于php swoft框架实例用法的文章就介绍到这了,更多相关php swoft框架是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP 字符串 小常识
Jun 05 PHP
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
May 29 PHP
php实现文件下载(支持中文文名)
Dec 04 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
PHP连接数据库实现注册页面的增删改查操作
Mar 27 PHP
php版微信发红包接口用法示例
Sep 23 PHP
php fread读取文件注意事项
Sep 24 PHP
php常用数组函数实例小结
Dec 29 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
Sep 28 PHP
open_basedir restriction in effect. 原因与解决方法
Mar 14 PHP
PHP变量的作用范围实例讲解
Dec 22 #PHP
PHP设计模式之命令模式示例详解
Dec 20 #PHP
如何重写Laravel异常处理类详解
Dec 20 #PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
Dec 16 #PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 #PHP
TP5多入口设置实例讲解
Dec 15 #PHP
Mac系统下搭建Nginx+php-fpm实例讲解
Dec 15 #PHP
You might like
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
2010/03/21 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
javascript获得网页窗口实际大小的示例代码
2013/09/21 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
js实现单击图片放大图片的方法
2015/02/17 Javascript
javascript操作ul中li的方法
2015/05/14 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
2015/12/18 Javascript
Bootstrap整体框架之CSS12栅格系统
2016/12/15 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue2.0 循环遍历加载不同图片的方法
2018/03/06 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
django 修改server端口号的方法
2018/05/14 Python
用Python写一个模拟qq聊天小程序的代码实例
2019/03/06 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python3连接MySQL8.0的两种方式
2020/02/17 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
2012/05/24 面试题
大学辅导员事迹材料
2014/02/05 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
求职信的正确写法
2014/07/10 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
讲座新闻稿
2015/07/18 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python