Существует ли переменная область видимости где-либо в PHP? - PullRequest
0 голосов
/ 07 сентября 2010

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

Ответы [ 3 ]

2 голосов
/ 07 сентября 2010

Ну, если вам не нужен файл, у вас остается общая память.

Вы можете попробовать функции общей памяти PHP или использовать расширение, например memcache или APC .

1 голос
/ 07 сентября 2010

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

Вы можете посмотреть на хранение данных в слое кеша (например, memcached), однако, похоже, вам нужно кешировать вашу базу данных, если она находится под большой нагрузкой. Я бы рекомендовал кэшировать вашу базу данных (опять-таки memcached или файловое хранилище; сначала serialize() данные), а затем, когда эта проблема будет решена, сохранить данные чата в базе данных (которая, в свою очередь, кэшируется). Вам нужно постоянно хранить его где-то.

0 голосов
/ 07 сентября 2010

Этого нет.Попробуйте создать базовый файл, который сохраняет сериализованную / json'd версию нужной переменной, используйте php's flock для управления доступом к этому файлуфайл каждый час / день.Так как это не простое приложение с большим трафиком, я думаю, что все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...