Разделяемая память и PHP
В основном на PHP пишут небольшие проекты, поэтому литература кишит примерами «как сделать сайт в три странички». Но, тем не менее, только простыми сайтами дело не ограничивается. Когда приходится делать производительные проекты, существует множество ухищрений и решений, одно из которых — использовать разделяемую память, там где кешировать данные в статические файлы не получается. Различных API для использования разделяемой памяти много, только в одном PHP есть shmop, shm_* и Memcache, что несколько осложняет дело.
Я сделал PEAR-класс System::SharedMemory для работы с разными видами разделяемой памяти, получить его можно у меня или на сайте PEAR.
В настоящий момент поддерживаются следующие API:
- eAccelerator
- Turck MMCache
- APC
- Shmop
- Apache Notes
- Memcached
- System V (имена переменных до 4х символов)
- SQLite (база данных создаётся в памяти)
- Sharedance
- File (данные хранятся в файлах)