After upgrading a few gems recently, I found that the content returned from the nginx memcached_pass directive always had a few strange characters prepended.
After some investigation it seems that this is caused by rails ‘marshalling’ the data. If you’re using a memcached set command such as
Cache.set(key, content, time_to_live)
You need to add an extra argument to force rails to cache the raw data instead of marshalling it :
Cache.set(key, content, time_to_live, true)
Restart memcached to make sure the old data is cleared, and the problem should go away.