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 相关文章推荐
apache+mysql+php+ssl服务器之完全安装攻略
Sep 05 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
Uchome1.2 1.5 代码学习 common.php
Apr 24 PHP
LotusPhp笔记之:Cookie组件的使用详解
May 06 PHP
php中session退出登陆问题
Feb 27 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
php 利用array_slice函数获取随机数组或前几条数据
Sep 30 PHP
php生成毫秒时间戳的实例讲解
Sep 22 PHP
php支付宝APP支付功能
Jul 29 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
php如何实现数据库的备份和恢复
Nov 30 PHP
PHP变量的作用范围实例讲解
Dec 22 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的分页功能
2007/03/21 PHP
php smarty函数扩展
2010/03/15 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
Javascript继承机制的设计思想分享
2011/08/28 Javascript
js判断浏览器类型的方法
2013/08/07 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
Node.js实现文件上传的示例
2017/06/28 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
Python中enumerate函数代码解析
2017/10/31 Python
Django实现跨域的2种方法
2019/07/31 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
精彩广告词大全
2014/03/19 职场文书
求职信模板
2014/05/23 职场文书
中考标语大全
2014/06/05 职场文书
民族精神月活动总结
2014/08/28 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
导游词之西湖雷峰塔
2019/09/18 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
在CSS中使用when/else的方法
2022/01/18 HTML / CSS
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL