2016-02-21 3 views
0

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

Что я работаю над: Я создаю телеграммы бот (с использованием режима телеграммы webHook и PHP), который получает сообщение пользователя (передала телеграмму сервер) и проверяет, является ли это правильный ответ. В каждом из состояний «Да/Нет» бот выполнит правильное действие. Таким образом, здесь есть база данных, чтобы прочитать правильный ответ и множество полученных сообщений, которые нужно проверить. Весь код будет выполнен для каждого сообщения.

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

+0

Запрос БД может быть не столь дорогим. BTW, php-сессии хранятся в файлах, поэтому вы можете хранить данные в своем собственном файле (JSON-кодирование может быть решением). – fusion3k

+0

Какой из них быстрее? DB или файл? –

+0

чтение файла может быть быстрее, но если вам нужно обработать его (и я думаю, что вы этого захотите), db будет быстрее. Также обратите внимание, что запрос mysql обычно кэшируется. – fusion3k

ответ

0

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

Если информация не изменяется между запросами, вы можете использовать memcached для кеширования.

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