Есть ли memcache "каталог"? - PullRequest
       13

Есть ли memcache "каталог"?

1 голос
/ 26 октября 2009

мы используем memcache в нескольких наших приложениях на Rails. Теперь мне было интересно: есть ли способ получить список всех объектов, хранящихся в memcache, включая количество данных, занимаемое каждым значением?

Например:

key       | memory(Bytes) |   %
-----------------------------------
foo_key   | 15013         |   0.3
bar_key   | 2201          |   0.05

Не удалось найти ничего в документах ...

Спасибо

Мэтт

Ответы [ 3 ]

5 голосов
/ 26 октября 2009

Нет, мы не собираемся поддерживать такую ​​функциональность.

В настоящее время все операции memcached выполняются O (1) (включая сброс). Наличие операции, которая дает вам список ключей, не может удовлетворить это ограничение. Это потребовало бы блокировок, которые будут удерживаться на время запроса, и предоставит вам информацию, которая может быть неточной в тот самый момент, когда вы ее видите.

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

Подумайте, принцип неопределенности Гейзенберга соответствует эфемерному хранилищу.

0 голосов
/ 11 декабря 2009

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

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

0 голосов
/ 26 октября 2009

Нет. Это кеш, а не база данных. Если вам придется делать подобные вещи, вам будет лучше чем-то другим, кроме Memcached.

Подробнее см. FAQ информация

...