Cross-client memcached compatibility

Dustin Sallings dustin at spy.net
Tue Jan 29 19:35:53 UTC 2008


On Jan 29, 2008, at 11:25, Ciaran wrote:

> I'm interested in sharing certain key/values, [purely utf8 strings  
> in my case fortunately] between .Net + Java, but  it appears that  
> very few clients use the same 'flags' as each other :(.  So my nice  
> strings that get saved in .Net (flag value of 3), gets treated as  
> 'compressed' [flag bitwise value of 2]  by the Java client (The .Net  
> client is Enyim, and I've tried both Java clients on the memcached  
> site so far).
>
> Obviously I can tweak the Enyim client to not use '3' for storing  
> strings [or anything that triggers the 1^2 bit) so that no other  
> client treats it as 'compressed', but is there a 'default' type I  
> could use and handle this all myself (it appears not to byte-array  
> as far as I can tell ? ) , alternativelyis there some kind of  
> convergence plan in place to try and allow for cross-platform  
> support (where sensible clearly!)


	It's been discussed, but not a lot of effort has gone into coming up  
with storage compatibility.

	It's pretty easy in my client to write a transcoder object to meet  
your exact requirements (basically assert the value to be a string,  
get the UTF-8 bytes from it and set the flags to whatever you want),  
but I wouldn't consider that a general long-term solution.

-- 
Dustin Sallings



More information about the memcached mailing list