基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Swoole 实现协程篇(二):通过协程实现并发编程

Swoole 内置了丰富的协程组件供开发者直接调用以便快速实现异步非阻塞的并发编程,省去了开发者自己实现相应底层代码的麻烦: TCP/UDP Client:Swoole\Coroutine\Client TCP/UDP Server:Swoole\Coroutine\Server HTTP/WebSocket Client:Swoole\Coroutine\HTTP\Client HT...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Process\Pool 通过进程池实现数据库和 Redis 的持久连接

Swoole 进程池的简单实现 从 2.1.2 版本开始,Swoole 开始支持进程池功能,该功能基于 Server 的 Manager 模块实现,可用于管理多个工作进程。相比 Process 实现多进程,Process\Pool 更加简单,封装层次更高,开发者无需编写过多代码即可实现进程管理功能。 下面我们来看一个简单的异步进程池实现示例,通过监听 WorkerStart 事件启动 R...

[ Laravel 5.8 文档 ] 官方扩展包 —— 队列系统解决方案:Laravel Horizon

简介 Horizon 为 Laravel 提供了基于 Redis 的、拥有美观后台的、代码驱动配置的队列系统。Horizon 让我们可以轻松监控队列系统的关键指标,例如任务吞吐量、运行时间和失败任务等。 所有的队列进程配置都存放在一个单独的简单配置文件中,这样的话配置文件就可以存放到源码控制以便团队所有成员的协作。 安装 注:由于 Horizon 使用了异步进程信号,所以 PHP 7...

[ Laravel 5.8 文档 ] 数据库操作 —— Redis

简介 Redis 是一个开源的、高级的键值对存储系统,经常被用作数据结构服务器,因为其支持字符串、Hash、列表、集合和有序集合等数据结构。 在 Laravel 中使用 Redis 之前,需要通过 Composer 安装 predis/predis 包: composer require predis/predis 作为替代方案,你还可以通过 PECL 安装 PHP 扩展 PhpRedi...

[ Laravel 5.8 文档 ] 进阶系列 —— 队列

简介 注:Laravel 现在提供了基于 Redis 的,拥有美观的后台和配置系统的 Horizon 队列扩展包,完整信息参考 Horizon文档。 Laravel 队列为不同的后台队列服务提供了统一的 API,例如 Beanstalk,Amazon SQS,Redis,甚至其他基于关系型数据库的队列。队列的目的是将耗时的任务延时处理,比如发送邮件,从而大幅度缩短 Web 请求和响应...

[ Laravel 5.8 文档 ] 进阶系列 —— 缓存

配置 Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 开箱支持主流的缓存后端如 Memcached 和 Redis 等。 缓存配置文件还包含其他文档化的选项,确保仔细阅读这些选项。默认情况下,Laravel 被配置成使用文件缓存(file 驱动),这会将序列化数据和缓存...

[ Laravel 5.8 文档 ] 进阶系列 —— 广播

简介 在很多现代 Web 应用中,Web 套接字(WebSockets)被用于实现实时更新的用户接口。当一些数据在服务器上被更新,通常一条消息通过 Websocket 连接被发送给客户端处理。这为我们提供了一个更强大的、更有效的选择来持续拉取应用的更新。 为帮助你构建这样的应用,Laravel 让通过 Websocket 连接广播事件变得简单。广播 Laravel 事件允许你在服务端和客...

[ Laravel 5.8 文档 ] 基础组件 —— Session

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。Laravel 通过简洁的 API 统一处理后端各种 Session 驱动,目前开箱支持的流行后端驱动包括 Memcached、Redis 和数据库。 学院君注:Laravel 并没有使用 PHP 内置的 Ses...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 通过 Cookie 实现基于 Session 的单点登录

单点登录及实现思路 单点登录(Single Sign On),简称为 SSO,意思是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的其它应用系统。一般常用于同一家公司的不同子系统之间的登录认证。 单点登录有多种实现方式,这里我们只介绍两种,一种是基于 Cookie 凭证,这种方式适用于子系统之间主域名一致,因为只有这样才能让不同子系统之间共享 Cookie;另一种是通过 CA...

[ Laravel 从入门到精通 ] 数据库和 Eloquent 入门 —— 数据库连接配置和读写分离

今天开始讲如何在 Laravel 中操作数据库,Laravel 为我们提供了多种工具实现对数据库的增删改查,在我们使用 Laravel 提供的这些数据库工具之前,首先要连接到数据库。 数据库的连接配置文件位于 config/database.php,和很多其他 Laravel 配置一样,你可以为数据库配置多个「连接」,然后决定将哪个「连接」作为默认连接。 基本配置 默认情况下,Larav...