Google App Engine - Memcache. Какова вероятность потери данных в этом сценарии? - PullRequest
2 голосов
/ 11 марта 2010

Я хочу хранить данные при каждом запросе (какой пользователь просматривал какую страницу моего сайта).

При каждом запросе я помещаю данные (~ 100 байт) в кэш памяти.

Каждые 5 секунд я сохраняю эти данные из memcache в хранилище данных.

Как редко будет потеря данных в этом сценарии?

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

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

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

1 голос
/ 11 марта 2010

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

0 голосов
/ 11 марта 2010

Не верьте memcached, чтобы помнить ваши вещи на потом. Если вы хотите, чтобы что-то сохранилось, сохраняйте это тут же.

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