2012-08-22 2 views
0

Привет, все равно, чтобы хранить переменную в памяти до перезапуска сервера или вручную воссоздать одну и ту же переменную с помощью PHP.PHP в классах памяти или переменная

На самом деле проблема заключается в том, что у меня есть роутер в моем приложении, который имеет несколько настроек для маршрутизации URL-адресов на разных API-интерфейсах. Я не хочу загружать свою конфигурацию каждый раз, когда запрашивается земля, поэтому я ищу способ сохранить данные конфигурации в памяти до тех пор, пока я не буду вручную ее воссоздавать.

Просьба предложить, если это так.

Спасибо в Advanced.

+0

Я думаю, вам нужно лучше объяснить проблему, которую вы пытаетесь решить, что вы пытались, что работает, что не работает и где у вас проблемы. Напишите это, как будто вы пишете спецификацию требований. – Matt

+0

Привет, Мэтт, мне интересно, если это все равно, я попытался построить одноэлементный класс для одного и того же, но, к сожалению, он совсем не похож на мои требования. Пожалуйста, предложите, если это так, чтобы добиться этого на PHP. Спасибо –

+0

Я не понимаю, что такое «это». – Matt

ответ

0

PHP хранит все переменные в памяти до тех пор, пока процесс не завершится (если переменная является глобальной) или пока область не закончится (если переменная локальна).

Я думаю, что вы запутались в том, что Apache (или любой другой веб-сервер, который вы используете) работает непрерывно, но он запускает только PHP для каждого запроса, поэтому PHP никогда не работает непрерывно.

Чтобы хранить вещи по разным запросам, вам необходимо использовать внешнее сохранение. Вы можете сделать это с помощью PHP-сессий, базы данных, плоских файлов и т. Д., Но ни один из них не сохранит данные в памяти.

Несмотря на то, что он является внешним, вы можете использовать кеширующий сервер, такой как memcached, для постоянного хранения данных в памяти, а затем использовать PHP для доступа к нему через класс Memcached.

+0

Привет, drrcknlsn и Matt, Спасибо за беспокойство, поэтому в этом случае у меня есть только кэширование. Еще раз спасибо. –

+1

Кроме того, ваш сервер, вероятно, имеет кэш диска, который помещает в память часто запрашиваемые файлы. Поэтому, вероятно, хотя вы сохраняете файл на диск, он чаще читается из памяти, чем с диска. –

+0

@ CarlosCampderrós: ​​+1 для напоминания о диске. Кроме того, большинство RDMS имеют таблицы памяти, которые можно использовать, о которых я забыл упомянуть. – FtDRbwLXw6

Смежные вопросы