Mastering Swoole PHP: Build High Performance Concurrent System with Async and Coroutines / Осваиваем Swoole PHP: построение высокопроизводительной конкурентной системы с асинхронностью и корутинами: Жизненный цикл переменной
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Жизненный цикл переменной bubenok 09.02.22 в 13:32 |
|
|
Разные типы переменных имеют разный жизненный цикл. bubenok 09.02.22 в 13:32 |
||
|
В отличие от локальных переменных, создавамых внутри функции, которые уничтожаются PHP VM, когда функция завершается, глобальные переменные и статические переменные по умолчанию не уничтожаются. Если мы будем продолжать сохранять данные в глобальные переменные или продолжать создавать новые глобальные переменные в процессе, мы увидим, что использование памяти продолжает расти. bubenok 09.02.22 в 13:34 |
||
|
Когда мы создаем приложения с отслеживанием состояния, очень важно управлять жизненным циклом глобальных переменных. Без уничтожения и удаления неиспользуемых глобальных переменных мы можем увидеть утечки памяти: использование памяти может продолжать расти. При преобразовании приложений PHP-FPM без сохранения состояния в приложения с сохранением состоянием, такие как Swoole, возникают дополнительные накладные расходы. bubenok 09.02.22 в 13:36 |
||
|
Хорошей практикой является думать о жизненном цикле каждой созданной нами переменной и делать их очистку, когда они нам больше не нужны. bubenok 09.02.22 в 13:37 |
