Memcache альтернативы, больше контроля - PullRequest
1 голос
/ 25 февраля 2011

Мое новое PHP-приложение может быть ускорено с некоторым кэшированием результатов MySQL. У меня ограниченный опыт работы с memcached, но я не думаю, что он может делать то, что мне нужно.

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

Так что я мог бы хранить:

account_1.value_a = foo
account_1.value_b = bar
account_2.value_a = dog
account_2.value_b = cat

Существует ли система кэширования, которая позволяла бы мне удалять данные на основе подстановочного знака (или аналогичного метода), такого как «delete account_1. *», Оставляя меня с:

account_1.value_a = <unset>
account_1.value_b = <unset>
account_2.value_a = dog
account_2.value_b = cat

Спасибо, Jim

Ответы [ 4 ]

4 голосов
/ 25 февраля 2011

Не совсем, но вы можете подделать его, используя номера версий в ваших ключах.

Например, если вы используете такие ключи:

{entitykey}.{version}.{fieldname}

Так что теперь ваш account_1ключи объекта будут:

account_1.1.value_a
account_1.1.value_b

Если вы хотите удалить account_1 из кэша, просто увеличьте номер версии для этого объекта.Теперь ваши ключи будут такими:

account_1.2.value_a
account_1.2.value_b

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

0 голосов
/ 08 сентября 2011

Scache (http://scache.nanona.fi) имеет вложенные пространства ключей, чтобы вы могли хранить данные в подразделах и при необходимости истечь срок действия родительского элемента.

0 голосов
/ 19 апреля 2011

Модуль с открытым исходным кодом для получения тегов для ключей в memcache и других: http://github.com/jamm/memory/

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