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 06 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
php中simplexml_load_string使用实例分享
Feb 13 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php实现的用户查询类实例
Jun 18 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
PHP实现二维数组按照指定的字段进行排序算法示例
Apr 23 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
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
Javascript的闭包
2009/12/31 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
用JavaScript实现使用鼠标画线的示例代码
2014/08/19 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
javascript 秒表计时器实现代码
2017/03/09 Javascript
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
简单理解Python中基于生成器的状态机
2015/04/13 Python
10招!看骨灰级Pythoner玩转Python的方法
2019/04/15 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
来自南加州灵感的工作和娱乐服装:TravisMathew
2019/05/01 全球购物
班组长岗位职责范本
2014/01/05 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2014年工程工作总结
2014/11/25 职场文书
财政局个人总结
2015/03/04 职场文书
签字仪式主持词
2015/07/03 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
SpringBoot项目多数据源及mybatis 驼峰失效的问题解决方法
2022/07/07 Java/Android