Hackathon / Multidimensional keys / Wildcard deletes

ydnar ydnar at shaderlab.com
Sun Jul 8 15:48:17 UTC 2007


That’s definitely not what I was thinking. Rather than wrap the  
current protocol, or introduce an XML parser, just map Memcached  
commands to HTTP 1.1 equivalents, and extend (ala WebDAV) for  
commands with no counterpart:

<http://tools.ietf.org/html/rfc2616#section-5.1.1>

Metadata about a cached item can be encoded using HTTP headers.

Randy


On Jul 8, 2007, at 5:48 AM, Jure Petrovic wrote:

>
> On Sun, 2007-07-08 at 02:23 -0700, Steve Grimm wrote:
>> Other people brought up HTTP; I was just responding to that. HTTP  
>> does
>> have
>> certain advantages, such as that it has very mature client libraries
>> for
>> just about every language ever invented.
>>
>> XML would IMO be an awful choice; I think HTTP would be slower to
>> parse than
>> memcached's current protocol or a binary one, but XML would be a
>> performance
>> nightmare, especially if the parser had to fully support stuff like
>> entities. Plus you'd throw human readability out the window for
>> requests of
>> any reasonable complexity. And you'd be gaining very little from it
>> anyway;
>> you'd still have to write custom client libraries since as far as I
>> know
>> there isn't really a standard for using XML as the underlying request
>> format
>> when talking to a server (XML as the body of an HTTP request, sure,
>> but
>> you'd be talking XML *instead of* the HTTP request.)
>>
>> If I'm wrong, please enlighten me. I can see the benefits of
>> supporting HTTP
>> but I'm at a loss as to why you'd use XML at such a low level.
>>
>> -Steve
>
>
> To be honest, I like the binary protocol idea. It would be a great
> addition to the current protocol, which is IMO enough human- 
> readable and
> very efficient for the given task.
>
> But, as there was an interesting discussion about HTTP, I jumped in :)
>
> If I get this correctly, the idea is to wrap the current memcache
> protocol with the HTTP. The http body would still have to be parsed
> (current parser), which will introduce some latency. However, we  
> get the
> authorization and encryption (https) capabilities as part of the
> HTTP.
>
> I just mentioned XML because that would give the http body the  
> organized
> structure, that would allow easy addition of commands and arguments  
> and
> could be parsed with libxml2 or something similar. But that still
> doesn't mean, that I am convinced that all this (http) is really
> neccessary...
>
> Regards,
> Jure
>
>



More information about the memcached mailing list