документация по кэшу памяти Google App Engine заявляет, что параметр time
для memcache.set()
является «необязательным временем истечения срока действия, либо относительным количеством секунд от текущего времени (до 1 месяца), либо абсолютным временем эпохи Unix».
Поэтому я попытался установить значение на 30 дней, которое согласно Google составляет 2 592 000 секунд.
Однако я очень подозреваю, что это значение слишком велико, потому что значение было установлено (memcache.set()
возвращало значение True
), но memcache.get()
сразу после этого всегда возвращало None
. Уменьшение этого значения до 1 728 000 секунд сработало нормально/как ожидал.
Я предполагаю, что после передачи наивысшего значения параметр time
интерпретируется как абсолютное время эпохи Unix. Это означало бы, что 2 592 000 секунд были интерпретированы как «Сб, 31 января 1970 г., 00:00:00 по Гринвичу», что, очевидно, является датой в прошлом...
Итак, какое максимальное значение, которое вы можете ввести, будет интерпретировано как количество секунд в будущем?
Редактировать: на локальном сервере разработки 2 592 000 секунд работали нормально, но не на рабочих серверах. Я предполагаю, что оба сервера имеют различную интерпретацию значений.