Como você trabalha com as limitações de chave / valor do memcached?

Memcached tem limitações de comprimento para chaves (250?) e valores (aproximadamente 1MB), bem como algumas restrições de caracteres não muito bem definidas para chaves. Qual é a melhor maneira de contornar aqueles em sua opinião? Eu uso o Perl API Cache :: Memcached.

O que eu faço atualmente é armazenar uma string especial para o valor da chave principal se o valor original for muito grande ("parts: <number>") e, nesse caso, eu armazeno <number> partes com as chaves nomeadas 1+ <main key> , 2+ <chave principal> etc. Isto parece "OK" (mas confuso) para alguns casos, não tão bom para outros e tem o problema intrínseco que algumas das partes podem estar faltando a qualquer momento (então o espaço é desperdiçado para manter os outros eo tempo é perdido lendo-os).

Quanto às principais limitações, é possível implementar o hashing e armazenar a chave completa (para contornar as colisões) no valor, mas ainda não precisei fazer isso.

Alguém inventou uma maneira mais elegante, ou mesmo uma API Perl que manipule dados arbitrários (e valores-chave) de forma transparente? Alguém hackeou o servidor do memcached para suportar chaves / valores arbitrários?

questionAnswers(5)

yourAnswerToTheQuestion