0

Я использую файловую систему FUSE fuse.py и планирую использовать memcache для хранения файлов. Я хочу иметь небольшое пространство memcache, чтобы я знал, какие файлы хранятся и какие файлы заменяются.Ограничение размера хранилища memcache

Я понимаю, что в Memcache есть плиты, в которых хранятся данные определенного размера. Но возможно ли иметь только одну плиту? Например, у вас есть одна плита размером 5 МБ, с размером каждой страницы размером 1 мб, чтобы я мог хранить максимум 5 файлов. И если мне нужно добавить 6-й, то политика LRU удалит файл и освободит место для него.

В основном я хочу использовать memcache в качестве кеша для файлов, и как только файл будет удален из memcache, сохраните изменение на сервере db.

+2

Это невозможно, потому что тайники могут истекать в любое время. –

+1

Кроме того, ни одна из возможностей управления размером страницы не существует в службе memcache appengine. Почему вы хотите добавить еще один слой (плавкий предохранитель) для объектов db, трудно понять. Также, если вы используете ndb, уровень кэширования выполняется для вас, когда вы используете 'key.get()' –

ответ

0

Не делайте предположений о внедрении системы на основе того, как будут реализованы такие или другие системы ; единственное, на что вы можете положиться, - это то, что содержится в опубликованной документации API, и в этом случае Google App Engine не обеспечивает обратный вызов, когда истекает срок действия записей (который истекает, когда запись достигает TTL или заменяется из-за LRU), а также не поддерживает их в других системах хранения.

Нельзя использовать memcache для длительного хранения, например файловой системы; пожалуйста, рассмотреть одну из следующих систем вместо этого для длительного хранения:

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

Смежные вопросы