Laravel Octane v1.0 发布
发布于 作者 Paul Redmond
Laravel 团队一直在努力开发 Laravel Octane,这是一个用于提升 Laravel 应用程序性能的工具。在 4 月发布 Beta 版 之后,Octane 现在发布了稳定的 1.0 版本!
🥳 我已标记 Laravel Octane 1.0!🥳
— Taylor Otwell 🪐 (@taylorotwell) 2021 年 5 月 11 日
📚 本周我将把文档移至 Laravel 网站 - 现在它仍然在存储库中:https://t.co/SB52M5NnKg
尽情享用!
Octane 通过使用与 Laravel 集成的功能强大的应用程序服务器,实现了卓越的性能基准。现在 Octane 已经稳定并准备好投入生产,以下是一些需要注意的事项
- Octane 需要 PHP v8.0+
- Octane 支持 Roadrunner,一个用 Golang 编写的应用程序服务器、负载均衡器和进程管理器。
- Octane 支持 Swoole PHP,一个高性能的 PHP 程序服务器,具有异步 IO、协程和纤程。
- Laravel Sail 提供了一种简单的方法来开始使用 Roadrunner 和 Swoole
现在,文档已在 Laravel 网站上发布。
在决定要运行哪个底层服务器时,请仔细阅读文档。两个服务器都提供高性能,但 Octane 为 Swoole 提供了 Roadrunner 中无法实现的特定供应商功能。
使用 Swoole 时,您可以访问 octane 缓存驱动程序
Cache::store('octane')->put('framework', 'Laravel', 30);
根据自述文件,Octane 缓存驱动程序(由 Swoole 表提供支持)
[Swoole] 提供高达每秒 200 万次操作的读写速度。此缓存驱动程序由 Swoole 表 提供支持。存储在缓存中的所有数据对服务器上的所有工作进程都可用。但是,服务器会在重启时刷新缓存数据。
使用 Swoole,您还可以利用并发任务,这意味着您可以通过轻量级后台任务同时执行操作
use App\User;use App\Server;use Laravel\Octane\Facades\Octane; [$users, $servers] = Octane::concurrently([ fn () => User::all(), fn () => Server::all(),]);
最后,Swoole 有 Swoole 表的概念,它提供“极高的性能吞吐量,并且服务器上的所有工作进程都可以访问这些表中的数据”。
以下是如何使用 Octane 与 Swoole 表交互的示例
// Octane tables config in config/octane.phpreturn [ 'tables' => [ 'example:1000' => [ 'name' => 'string:1000', 'votes' => 'int', ], ],]; // Usage exampleuse Laravel\Octane\Facades\Octane; Octane::table('example')->set('uuid', [ 'name' => 'Nuno Maduro', 'votes' => 1000,]); Octane::table('example')->get('uuid');
了解更多
要开始使用 Octane,请在 GitHub 上查看 laravel/octane。
要在新的或现有的 Laravel 项目中开始使用,请使用 composer 安装 Octane,并通过 Artisan 启动它
composer require laravel/octanephp artisan octane:install