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+DBM的同学录程序(2)
Oct 09 PHP
基于HTTP长连接的"服务器推"技术的php 简易聊天室
Oct 31 PHP
PHP 引用是个坏习惯
Mar 12 PHP
PHP编码转换
Nov 05 PHP
php简单开启gzip压缩方法(zlib.output_compression)
Apr 13 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
PHP读取zip文件的方法示例
Nov 17 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
php实现微信企业付款到个人零钱功能
Oct 09 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
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
php使用Jpgraph绘制复杂X-Y坐标图的方法
2015/06/10 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
新手简单了解vue
2019/05/29 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python实现查询IP地址所在地
2015/03/29 Python
python 爬取微信文章
2016/01/30 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
2017/11/21 Python
python调试神器PySnooper的使用
2019/07/03 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
纯CSS3打造属于自己的“小黄人”
2016/03/14 HTML / CSS
如何用Java判断一个文件或目录是否存在
2012/11/19 面试题
应届生骨科医生求职信
2013/10/31 职场文书
公务员群众路线心得体会
2014/11/03 职场文书
毕业设计致谢词
2015/05/14 职场文书
大学生读书笔记范文
2015/07/01 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技