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判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
php基础教程
Aug 26 PHP
php验证邮箱和ip地址最简单方法汇总
Oct 30 PHP
PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
Jun 21 PHP
ajax+php实现无刷新验证手机号的实例
Dec 22 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
PHP创建XML接口示例
Jul 04 PHP
漂亮的thinkphp 跳转页封装示例
Oct 16 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 PHP
php实现微信和支付宝支付的示例代码
Aug 11 PHP
PHP 99乘法表的几种实现代码
Oct 13 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
smarty模板局部缓存方法使用示例
2014/06/17 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
jQuery原型属性和原型方法详解
2015/07/07 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
详解用vue.js和laravel实现微信支付
2017/06/23 Javascript
通俗解释JavaScript正则表达式快速记忆
2017/08/23 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Python获取昨天、今天、明天开始、结束时间戳的方法
2018/06/01 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
对pandas里的loc并列条件索引的实例讲解
2018/11/15 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
美国在线工具商店:Acme Tools
2018/06/26 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
2012/10/30 面试题
学术会议欢迎词
2014/01/09 职场文书
高一地理教学反思
2014/01/18 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
庆七一活动总结
2014/08/27 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
员工辞职信范文
2015/03/02 职场文书
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis