Если APC настроен на использование mmap, означает ли это, что виртуальная память будет отображена на диск, и я не буду использовать физическую память?
Поскольку мои потребности очень простые, вместо того, чтобы использовать memcached для реализации управления сеансом на основе памяти, я написал собственный обработчик сеанса для APC, но мне кажется, что установка APC на основе mmap по-прежнему будет записывать и читать с диска, а мой настраиваемый сеанс управление действительно будет не лучше или быстрее, чем управление сеансами файлов по умолчанию. Я неправильно истолковываю mmap?
По сути, mmap очень разумно использует память. Вы сопоставляете файл с памятью с помощью mmap, и только те биты файла, которые вы действительно читаете, попадают в память. И даже лучше, если несколько процессов отображают один и тот же файл, это одна и та же область памяти. Когда вы записываете в эту оперативную память, mmap не будет немедленно записывать на диск, он может какое-то время хранить эту версию вещей.
Единственный способ быть уверенным - это протестировать (эталонный тест), но я ожидаю, что mmap будет работать для обработки сеанса, если вы правильно обрабатываете блокировку.