Как memcache.incr() влияет на периоды обслуживания App Engine?

Я работаю над приложением, которое будет работать на Google App Engine. Я хотел бы, чтобы он изящно реагировал на периоды обслуживания App Engine.

Согласно документации, memcache просто не будет хранить или извлекать данные в течение периодов обслуживания:

В течение периода обслуживания, доступного только для чтения, вызовы API-интерфейса memcache не будут генерировать исключения, а вместо этого будут возвращать False для вызовов set() и None для вызовов get() (как и в случае любой другой ошибки кэша). Кроме того, вызовы memcache API будут возвращаться немедленно в течение этого периода без каких-либо дополнительных задержек.

Это относится к incr() звонит также? Кажется, что так и должно быть, но я не могу найти никакой документации на этот счет, и я хочу быть уверен.

1 ответ

Решение

Документация для incr() состояния:

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

Как видно из документации, вы не можете устанавливать или получать данные во время обслуживания, и incr() на самом деле просто вспомогательная функция вокруг set(), вы должны ожидать возвращаемое значение None в течение периодов обслуживания для incr() функция.

Другие вопросы по тегам