Joel Always one syllable, sometimes "@jayroh"

Installing libmemcached and the memcached gem on Leopard

16 Feb 2009 #development #gem #memcached #rails #ruby on rails #Work

face palm

What a huge pain in the ass.

I just spent hours trying to get every combination of these two to work together and nothing worked.   A handful of versions of libmemcached had no problems installing – .24, .25 and .26 were all easy to install, both from source and from macports.  However, getting the memcached gem to install proved to be way way more difficult.I tried with a myriad of options – the most promising piece of information looked to be from this gentleman’s website – but also proved fruitless.The final solution, after a LOT of googling and clicking around the rubygem forums – this post at Evan Weaver’s blog.  The libmemcached-0.25.14.tar.gz and memcached-0.13.gem tarball and gem, respectively, installed easily without any problems.  After downloading all I had to run was:

tar -xzvf libmemcached-0.25.14.tar.gz
cd libmemcached-0.25.14
./configure && make && sudo make install
cd ..
sudo gem install memcached --no-rdoc --no-ri

Done. Finally.

Update: There seems to be a few issues with the gem I link to being installed correctly in Snow Leopard.  After spending too much time trying to figure out why the gem wouldn’t install, I installed the current memcached gem (from gemcutter) on a whim – and it compiled, and worked, without a problem instantly.   So, if you’re running Snow Leopard and looking to install the memcached gem, try out the latest version first.One caveat – I’m still using the memcached server I linked to above, version  0.25.14, still from Evan Weaver’s site

Session is Invalid – A Boneheaded Mistake Might be Your Problem

26 Oct 2008 #cookies #error #memcached #rails

#

Here’s something I lost hours to thanks to my own boneheaded mistake (I think I might have “lack of sleep” to blame for this one – in conjunction with ignorance).

I changed my Rails app to use memcached as the caching store for obvious reasons.  Some sql queries are just too expensive so why keep hitting the damn db over and over again? Here comes memcached to the rescue!  … or not?

I made all the appropriate changes, installed memcache-client, and restarted my local dev environment only to be hit with an ugly

session_id “whole lots of letters and numbers blarghedy blargh” is invalid

With the last file in the stacktrace being mem_cache_store.rb.   “What the hell?  Everything looks good though!”After uninstalling any and every plugin that I didn’t need thinking maybe they were interfering with the cache store – newrelic_rpm,  query_reviewer and of course cache_fu – the problem remained. I reverted to regular built in filesystem caching and another error shows up – something about a cookie being tampered with.

*Ding*

Where the hell is the session id stored?  Of course it’s in a cookie.  After bringing up firebug and deleting the cookie (or conversely probably just restarting the browser) the problem was gone.

My fatal flaws?  I overwrote the config.action_controller.session :secret I had originally in development.rb with a new one in environment.rb and I didn’t restart my browser or delete that session cookie.

Ain’t that a bitch?