Как вы обходите ограничения ключа / значения memcached?

Memcached имеет ограничения по длине для ключей (250?) и значений (примерно 1 МБ), а также некоторые (насколько мне известно) не очень четко определенные ограничения символов для ключей. Какой, по вашему мнению, лучший способ обойти этих? Я использую Perl API Cache :: Memcached.

В настоящее время я сохраняю специальную строку для значения основного ключа, если исходное значение было слишком большим ("parts: & lt; number & gt;"), и в этом случае я сохраняю & lt; number & gt; части с ключами с именами 1 + & lt; основной ключ & gt ;, 2 + & lt; главный ключ & gt; и т. д. Похоже, что "ОК" (но грязный) для некоторых случаев, не так хорошо для других, и у него есть внутренняя проблема, заключающаяся в том, что некоторые части могут отсутствовать в любое время (поэтому пространство тратится на хранение других, а время на чтение их тратится).

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

Кто-нибудь придумал более элегантный способ или даже Perl API, который прозрачно обрабатывает произвольные размеры данных (и значения ключей)? Кто-нибудь взламывал сервер memcached для поддержки произвольных ключей / значений?

Ответы на вопрос(5)

Ваш ответ на вопрос