Глобальная переменная PHP, постоянная во всех запросах ⇐ Php
Глобальная переменная PHP, постоянная во всех запросах
Мне нужна глобальная переменная, которая будет постоянной во всех запросах
Мне известен аналогичный вопрос: переменная PHP Persist для всех запросов, но меня беспокоит, какое решение работает лучше, потому что поскольку переменная является глобальной, ее необходимо устанавливать для каждого запроса .
На данный момент я могу придумать следующие решения:
1. сохранение значения в базе данных.
Но каждый запрос имеет еще одно попадание в базу данных.
2. сохранение значения в файл
Но каждый запрос попадает в файловую систему. В системах *nix доступ к диску кэшируется, поэтому дальнейшее чтение должно осуществляться из оперативной памяти и, следовательно, не затрагивать диск.
3. сохранение значения во включаемом файле PHP и включение этого файла в основную точку входа веб-приложения.
Файл вместо необработанного значения переменной будет содержать define
define("THE_GLOBAL", "ABC");
Те же проблемы, что и (2), плюс, поскольку кэш php активен, может случиться так, что значение фактически не обновится до тех пор, пока кеш не обновится.
4. используя nosql, например redis
Мне не нравится настраивать Redis только для этого. Кроме того, переменная должна быть постоянной при перезапуске веб-приложения или перезагрузке системы. И реализация этого потребует дополнительной работы.
Я думаю, что лучшее решение — это (2). Но, возможно, я ошибаюсь.
Любые указания или предложения, подкрепленные вескими аргументами, будут очень приветствоваться.
Мне нужна глобальная переменная, которая будет постоянной во всех запросах
Мне известен аналогичный вопрос: переменная PHP Persist для всех запросов, но меня беспокоит, какое решение работает лучше, потому что поскольку переменная является глобальной, ее необходимо устанавливать для каждого запроса .
На данный момент я могу придумать следующие решения:
1. сохранение значения в базе данных.
Но каждый запрос имеет еще одно попадание в базу данных.
2. сохранение значения в файл
Но каждый запрос попадает в файловую систему. В системах *nix доступ к диску кэшируется, поэтому дальнейшее чтение должно осуществляться из оперативной памяти и, следовательно, не затрагивать диск.
3. сохранение значения во включаемом файле PHP и включение этого файла в основную точку входа веб-приложения.
Файл вместо необработанного значения переменной будет содержать define
define("THE_GLOBAL", "ABC");
Те же проблемы, что и (2), плюс, поскольку кэш php активен, может случиться так, что значение фактически не обновится до тех пор, пока кеш не обновится.
4. используя nosql, например redis
Мне не нравится настраивать Redis только для этого. Кроме того, переменная должна быть постоянной при перезапуске веб-приложения или перезагрузке системы. И реализация этого потребует дополнительной работы.
Я думаю, что лучшее решение — это (2). Но, возможно, я ошибаюсь.
Любые указания или предложения, подкрепленные вескими аргументами, будут очень приветствоваться.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Глобальная переменная или переменная передачи в PHP? (производительность)
Anonymous » » в форуме Php - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Постоянная ошибка выражения, когда постоянная функция вызывается из другой
Anonymous » » в форуме C++ - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Постоянная ошибка выражения, когда постоянная функция вызывается из другой
Anonymous » » в форуме C++ - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-