Memcached имеет ограничения длины для ключей (250?) и значений (грубо 1 МБ), а также некоторые (насколько мне известно) не очень четко определенные ограничения символов для ключей. Каков наилучший способ обойти тех, на ваш взгляд? Я использую Perl API Cache:: Memcached.
В настоящее время я сохраняю специальную строку для значения основного ключа, если исходное значение было слишком большим ( "parts: <number> " ), и в этом случае я храню < число > части с ключами с именем 1 + < main key > , 2 + < main key > и т.д. В некоторых случаях это кажется "ОК" (но беспорядочным), что не очень хорошо для других, и у него есть внутренняя проблема, из-за которой некоторые части могут отсутствовать в в любое время (так что пространство тратится впустую на то, чтобы держать остальных, а время тратится впустую, читая их).
Что касается ключевых ограничений, можно было бы, вероятно, реализовать хэширование и сохранить полный ключ (чтобы обойти столкновений) в значении, но мне еще не нужно это делать.
Кто-нибудь придумал более элегантный способ или даже API Perl, который прозрачно обрабатывает произвольные размеры данных (и ключевые значения)? Кто-нибудь взломал сервер memcached для поддержки произвольных ключей/значений?