最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • PHP HyperF -> 重叠和并发

    php hyperf -> 重叠和并发 重叠和并发” />

    • PHP:8.3.7
    • PHP HyperF:23.1.3

    HyperF – 项目

    HyperF 进程不要覆盖共享变量数据非常重要。过载时可能会发生这种情况。

    创建 – 项目

    作曲家创建项目 hyperf/hyperf-骨骼“项目”
    

    安装-观察者

    作曲家需要 hyperf/watcher --dev
    

    安装-UUID

    作曲家需要 ramsey/uuid
    

    服务器 – 启动

    cd 项目;
    php bin/hyperf.php 服务器:watch ;
    

    HyperF-APP

    APP-路由器

    Router::addRoute(['GET', 'POST'], '/overlapping/data', 'AppControllerControllerOverlapping@data');
    Router::addRoute(['GET', 'POST'], '/overlapping/value-a', 'AppControllerControllerOverlapping@value_a');
    Router::addRoute(['GET', 'POST'], '/overlapping/value-b', 'AppControllerControllerOverlapping@value_b');
    Router::addRoute(['GET', 'POST'], '/overlapping/value-c', 'AppControllerControllerOverlapping@value_c');
    
    Router::addRoute(['GET', 'POST'], '/concurrency/data', 'AppControllerControllerConcurrency@data');
    Router::addRoute(['GET', 'POST'], '/concurrency/value-a', 'AppControllerControllerConcurrency@value_a');
    Router::addRoute(['GET', 'POST'], '/concurrency/value-b', 'AppControllerControllerConcurrency@value_b');
    Router::addRoute(['GET', 'POST'], '/concurrency/value-c', 'AppControllerControllerConcurrency@value_c');
    

    路径:/project/config/routes.php

    APP – 控制器 – 重叠

    命名空间AppController;
    
    控制器重叠类
    {
        公共$数据;
    
        公共函数 __construct()
        {
            $this->data='';
        }
    
        公共函数数据()
        {
            返回$this->数据;
        }
    
        公共函数 value_a()
        {
            $this->data='值A';
            返回$this->数据;
        }
    
        公共函数 value_b()
        {
            $this->data='值 B';
            返回$this->数据;
        }
    
        公共函数 value_C()
        {
            $this->data='值C';
            返回$this->数据;
        }
    
    }
    

    路径:/project/app/Controller/ControllerOverlapping.php

    APP-控制器-控制

    命名空间AppController;
    
    使用 RamseyUuidUuid;
    
    类控制器并发
    {
        公共$数据;
    
        公共函数 __construct()
        {
            $this->data=array();
        }
    
        公共函数start()
        {
            $key=Uuid::uuid4()->toString();
            返回$键;
        }
    
        公共函数结束($key)
        {
            $data=$this->data[$key];
            取消设置($this->数据[$key]);
            返回$数据;
        }
    
        公共函数数据()
        {
            返回$this->数据;
        }
    
        公共函数 value_a()
        {
            $key=$this->start();
            $this->data[$key]='值A';
            $data=$this->end($key);
            返回$数据;
        }
    
        公共函数 value_b()
        {
            $key=Uuid::uuid4()->toString();
            $this->data[$key]='值 B';
            $data=$this->end($key);
            返回$数据;
        }
    
        公共函数 value_C()
        {
            $key=Uuid::uuid4()->toString();
            $this->data[$key]='值C';
            $data=$this->end($key);
            返回$数据;
        }
    
    }
    

    路径:/project/app/Controller/ControllerConcurrency.php

    执行

    GET——并发

    curl“http://127.0.0.1:9501/overlapping/data”
    结果: ''
    
    卷曲“http://127.0.0.1:9501/overlapping/value-a”
    结果:“值 A”
    
    卷曲“http://127.0.0.1:9501/overlapping/data”
    结果:“值 A”
    
    卷曲“http://127.0.0.1:9501/overlapping/value-b”
    结果:“值 B”
    
    卷曲“http://127.0.0.1:9501/overlapping/data”
    结果:“值 B”
    

    获取-控制

    curl“http://127.0.0.1:9501/concurrency/data”
    结果: ''
    
    卷曲“http://127.0.0.1:9501/concurrency/value-a”
    结果:“值 A”
    
    卷曲“http://127.0.0.1:9501/concurrency/data”
    结果: ''
    
    卷曲“http://127.0.0.1:9501/concurrency/value-b”
    结果:“值 B”
    
    卷曲“http://127.0.0.1:9501/concurrency/data”
    结果: ''
    
    卷曲“http://127.0.0.1:9501/concurrency/value-a”&& 
    卷曲“http://127.0.0.1:9501/concurrency/value-a”&& 
    卷曲“http://127.0.0.1:9501/concurrency/value-c”;
    结果:“值 A”、“值 B”、“值 C”
    
    卷曲“http://127.0.0.1:9501/concurrency/data”
    结果: ''
    

    https://github.com/thiagoeti/php-hyperf-overlapping-concurrency

    立即学习PHP免费学习笔记(深入)”;

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » PHP HyperF -> 重叠和并发
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情