удаление объекта и сущности с помощью средства просмотра хранилища данных Google App Engine не удаляет сущность из кэша памяти - PullRequest
2 голосов
/ 04 января 2012

Я заметил такое поведение, которое приводит к последовательному получению успеха.

Кто-нибудь еще видел это?

Ответы [ 2 ]

3 голосов
/ 22 июля 2016

Я нашел способ удалить одну единственную сущность из memcache, больно, но это работает.Теперь я использую Java и Objectify, но я надеюсь, что вы найдете это полезным, независимо от того, какую среду и язык вы используете.

  1. Перейдите на страницу https://console.cloud.google.com/appengine/memcache для вашего проекта.
  2. Введите в поле «Пространство имен» значение «ObjectifyCache» или любое другое пространство имен, которое вы используете.
  3. В разделе «Тип ключа» выберите «Java String»
  4. Это хитрый бит.В разделе «Ключ» необходимо ввести «URL-безопасный ключ», который вы найдете на странице «Редактирование хранилища данных» для своей сущности (https://console.cloud.google.com/datastore/entities/edit)
  5. Нажмите «Найти», и мы надеемся, что появится сущность.
  6. Установите флажок и нажмите УДАЛИТЬ

Теперь вы снова нажмете Найти, ничего не появится.

1 голос
/ 04 января 2012

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

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

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

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