Swoole虽然是标准的PHP扩展,实际上与普通的扩展不一样。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。html
Swoole要求使用者必须具有必定的Linux/Unix环境编程基础,《学习Swoole须要掌握哪些基础知识》 本文列出了基础知识清单。git
强大的TCP/UDP Server框架,多线程,EventLoop,事件驱动,异步,Worker进程组,Task异步任务,毫秒定时器,SSL/TLS隧道加密。github
swoole_http_server
是swoole_server
的子类,内置了Http的支持swoole_websocket_server
是swoole_http_server
的子类,内置了WebSocket的支持swoole_redis_server
是swoole_server
的子类,内置了Redis服务器端协议的支持子类能够调用父类的全部方法和属性web
TCP/UDP/UnixSocket客户端,支持IPv4/IPv6,支持SSL/TLS隧道加密,支持SSL客户端整数,支持同步并发调用,也支持异步事件驱动编程。redis
EventLoop API,让用户能够直接操做底层的事件循环,将socket,stream,管道等Linux文件加入到事件循环中。编程
eventloop接口仅可用于socket类型的文件描述符,不能用于磁盘文件读写服务器
异步IO接口,提供了 异步文件系统IO,定时器,异步DNS查询,异步MySQL等API,异步Http客户端,异步Redis客户端。websocket
进程管理模块,能够方便的建立子进程,进程间通讯,进程管理。swoole
强大的内存区管理工具,像C同样进行指针计算,又无需关心内存的申请和释放,并且不用担忧内存越界,底层所有作好了。多线程
基于共享内存和自旋锁实现的超高性能内存表。完全解决线程,进程间数据共享,加锁同步等问题。
swoole_table的性能能够达到单线程每秒读写100W次
具体帮助文档地址:
https://wiki.swoole.com/wiki/page/1.html