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 excel reader读取excel内容存入数据库实现代码
Dec 06 PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 PHP
php生成百度sitemap站点地图类函数实例
Oct 17 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
基于PHP实现生成随机水印图片
Dec 09 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
PHP多线程类及用法实例
2014/12/03 PHP
php通过session防url攻击方法
2014/12/10 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
Javascript开发包大全整理
2006/12/22 Javascript
简单的JS多重继承示例
2008/03/13 Javascript
firefox和IE系列的相关区别整理 以备后用
2009/12/28 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
js实现滑动触屏事件监听的方法
2015/05/05 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
轻松掌握jQuery中wrap()与unwrap()函数的用法
2016/05/24 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
[06:30]DOTA2英雄梦之声_第15期_死亡先知
2014/06/21 DOTA
python脚本内运行linux命令的方法
2015/07/02 Python
EM算法的python实现的方法步骤
2018/01/02 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
Python 进程之间共享数据(全局变量)的方法
2019/07/16 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
Python requests及aiohttp速度对比代码实例
2020/07/16 Python
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
西班牙品牌鞋子、服装和配饰在线商店:Esdemarca
2021/02/17 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
女子职高个人自荐书
2014/02/01 职场文书
初级会计求职信范文
2014/02/15 职场文书
《给予树》教学反思
2016/03/03 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
go使用Gin框架利用阿里云实现短信验证码功能
2021/08/04 Golang
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
nginx之queue的具体使用
2022/06/28 Servers