Сессии PHP хранятся в MySQL в тяжелой среде Ajax - PullRequest
1 голос
/ 16 июля 2009

Я хочу изменить свое приложение для хранения данных PHP Session в MySQL. Приложение интенсивно использует ajax, но не использует длительный опрос или какой-либо другой тип постоянного соединения.

У меня вопрос: есть ли какие-то ошибки, о которых мне нужно знать при написании этого кода? Например; У меня есть страница, которая отправляет 4 запроса AJAX для загрузки данных (для другой темы); вызовет ли это какие-либо проблемы с блокировкой, если мне придется обновлять данные сеанса при каждом запросе?

Спасибо.

Ответы [ 2 ]

1 голос
/ 16 июля 2009

Могут быть условия гонки, если вы делаете ajax-запросы к нескольким сценариям одновременно. Вы не можете проверить, что они будут выполняться в том порядке, в котором вы прислали запросы ajax, если вы не используете обратные вызовы, которые окажутся немного медленнее.

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

0 голосов
/ 16 июля 2009

Вам было бы намного лучше хранить данные сеанса в Memcache, если ваша основная задача - скорость. Вы не будете иметь задержку базы данных, связанную с хранением данных в таблицах - memcache использует ключи хеша для хранения данных в оперативной памяти. Это освобождает вашу реляционную базу данных для выполнения актуальных реляционных запросов и освобождает память для кэширования таблиц в других частях базы данных (многие запросы к таблице сеансов заполнят любую доступную память для кэширования других таблиц, в противном случае он будет убежден, что сеанс кеш имеет первостепенное значение).

Конечно, это еще одна зависимость и услуга для обучения и поддержки, но улучшение скорости огромно.

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