I don't think there's a way to do that within ActiveModel::Serializers
. You could reduce the cache size at the cost of complicating your code. Something like this would work:
user_json = UserSerializer.new(@user).as_json
user_json[:profiles] = @user.profiles.map { |profile| ProfileSerializer.new(profile).as_json }
etc.
In your example, there would of course be more nesting required.
This isn't a great solution - if you're bound to returning deeply nested JSON, I think the best short-term option would be to add some more memcache capacity. Long-term it might be worth rethinking this approach, as it might not be sustainable to return everything at once.