2016-06-23 4 views
0

Im делает эту стандартную процедуру на моем сервере, с "@Cache" - Entityобъективировать не загружается из Memchache

  1. нагрузки объект, ObjectifyService.ofy() нагрузки() ключ (.....)
  2. манипулировать объект
  3. сохранить объект, ObjectifyService.ofy(). сохранить(). лица (...). Теперь()

Но когда я смотрю в моем appstat я нахожу что из Memcache никогда не будет успешной загрузки. Потому что я вижу Get-Request в Memcache, за которым следует Get-Request в хранилище данных, все время see it here. Это означает, что Memcache не содержит мою сущность, как я понимаю. Метод вызывается каждые 10 секунд.

Это аналогичная дискуссия (без ответа для меня), которую я нашел до сих пор. https://groups.google.com/forum/#!topic/objectify-appengine/d-yzaNLJL4s

+0

Так что мой вопрос: почему нет успешной «Memcache-Load» –

ответ

1

В целях обеспечения Memcache остается в соответствии с вашими данными Облако DATASTORE, объективировать имеет следующие правила:

  • На load(), сначала попытайтесь читать из кэша памяти. Если это не удается, прочитайте из облачного хранилища данных и сохраните его в memcache.
  • В save() аннулировать объект в memcache.

Так что если вы всегда выполнять load() следует save(), вы никогда не будете читать объект из кэша памяти - каждый запрос всегда будет недействительным кэш.

+0

Спасибо! Я этого не знал. Я был смущен из-за предложения «Писания будут писать через кеш в хранилище данных» в документации по объективизации. Я думал, что memcache обновляется оператором записи вместо удаления. Жалость! –