Extensible command syntax
tomash.brechko at gmail.com
Tue Nov 13 08:23:04 UTC 2007
On Mon, Nov 12, 2007 at 22:23:15 -0800, Dustin Sallings wrote:
> >> In the text protocol, a get with several keys only returns hits and
> >>an end marker. The idea is that if you're issuing that request,
> >>you're probably going to return some kind of dictionary structure to
> >This "probably" comes from no where, and is a bad assumption for the
> >generic design. Client might not need to have the dictionary, and
> >currently it is forced to have it.
> Does any client out there do a multi-get for a series of keys and
> not return values mapped to those keys?
You are failing to see my point. Yes, the result is always mapped,
but such mapping may be a simple array or list of (key, value) pairs.
Thus if we request keys in the array/list order and get the results in
the array/list order, we only have to traverse this array/list and
assign results in order. This would make a simple client, and the
only cost is NAKs in the wire (and they may be effectively compressed
even if you want to optimize for "not found" case). You don't need
this in your Java framework, because you have to have dictionary
anyway. Still, other clients could benefit from that.
More information about the memcached