Join 4,000+ others and never miss out on new tips, tutorials, and more.
4.x is outdated, please check the latest version 22.x
Latest version:
pecl install openswoole-22.1.2
OpenSwoole provides 6 different memory operation APIs: Lock, Buffer, Table, Atomic, MMap, Channel which can be used when developing multiple process programs.
All these API are async and non-blocking, multiple-process safe. Don't have to warry about the data sync issues.
Swoole table is a high performance memory management module, implemented based on shared memory and spin lock. It is shared with multiple corotuine processes, can be used to store application level variables.
Integer variable allows any processor to atomically test and modify. Implemented based on CPU atomic instructions.
Swoole locks enable PHP developers use locks for data synchronization between multiple theads or processes. It is not supported within the Coroutine context.
Memory management module enable developers managing memory like C language without worrying about memory allocation, release.
Swoole provides the api to use mmap for files access.
Memory data structure likes Chan in Golang, implemented based on shared memory and Mutex locks. It can be used as high performance message queue in memory.