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 相关文章推荐
人大复印资料处理程序_补充篇
Oct 09 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
zf框架的zend_cache缓存使用方法(zend框架)
Mar 14 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php实现encode64编码类实例
Mar 24 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
THINKPHP3.2使用soap连接webservice的解决方法
Dec 13 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
May 12 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
Aug 17 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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
dedecms中使用php语句指南
2014/11/13 PHP
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
2015/06/23 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
js的OOP继承实现(必看篇)
2017/02/18 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
2017/07/04 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
python模拟事件触发机制详解
2018/01/19 Python
解决Django生产环境无法加载静态文件问题的解决
2019/04/23 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
Python 文件数据读写的具体实现
2020/01/24 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
广告传媒专业应届生求职信
2014/03/01 职场文书
计算机专业毕业生自荐信范文
2014/03/06 职场文书
年度考核自我鉴定
2014/03/19 职场文书
公证委托书模板
2014/04/03 职场文书
高考标语大全
2014/06/05 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2014年内部审计工作总结
2014/12/09 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL