cache-fu also prepends a namespace; in my case, that's "prodapp:". That is the 8 chars I refer to. I should have said this-I'm not so much worried about why python breaks at a larger length as I am that the error occurs at all. It seems to me that memcache should boot something out of cache and store the small blob I submitted-I could understand the error if I was attempting to store a large blob of data and the cache did not have a slab big enough for it, but surely it can evict a larger object to store a small one, no?
<br><br><div><span class="gmail_quote">On 10/9/07, <b class="gmail_sendername">Eric Hodel</b> <<a href="mailto:email@example.com">firstname.lastname@example.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Oct 9, 2007, at 11:59 , Matt Knox wrote:<br>> I consistently get an out of memory error when performing < 44<br>> byte (key+data) puts to memcache, but when 'put'-ing the same key<br>> with data that is long enough to exceed 44 chars key + data , I
<br>> succeed. I observe this behavior using both the ruby client<br>> (memcache-client 1.5) and the python one (python-memcached),<br>> although the python client seems to break at 59 chars, rather than 44.<br>
<br>memcache-client's default mode of operation is to Marshal the values<br>you're storing in memcached. For a String this is 4 bytes of overhead.<br><br>--<br>Poor workers blame their tools. Good workers build better tools. The
<br>best workers get their tools to do the work for them. -- Syndicate Wars<br><br><br></blockquote></div><br><br clear="all"><br>-- <br>(def (eval e l d c)<br> (if (atom? e)<br> ((ahandler (type e)) e l d c)<br> (eval (car e) l d
<br> (fun (x) <br> (evapp x (cdr e) l d c)))))