title: memcached, APCu or redis as cache for Symfony and Doctrine
body: <p>We're currently trying to decide, what cache we should use with Symfony and Doctrine. The idea behind it, is to reduce load and db calls, by caching values. The caching systems in question are: <a href="https://memcached.org/" rel="noreferrer">memcached</a>, <a href="https://github.com/krakjoe/apcu" rel="noreferrer">APCu</a> and <a href="https://redis.io/" rel="noreferrer">redis</a>.</p>
  
  <p>Our current favorite would be APCu, as memcache probably will have a small overhead for it's capabillity to run as a distributed cache, however it would also allow to store PHP sessions directly in memcache. Redis seams "to much" as it can be used as a DB, so probably a lot of overhead, which leaves APCu.</p>
  
  <p>The Symfony version currently used by us is 2.8, we will probably update it to 3.x in the near future, du to better integration of cache (for <a href="http://symfony.com/blog/new-in-symfony-3-1-cache-component" rel="noreferrer">3.1</a> and <a href="http://symfony.com/blog/new-in-symfony-3-3-memcached-cache-adapter" rel="noreferrer">3.3</a> we'll probably wait for the Symfony 3.3 release)</p>
  
  <p>The advantage of memcached is clearly, that it is distributed, meaning multiple servers could access it. However we currently run the Symfony app on just one server and there's no plan yet to change this.</p>
  
  <p>The question: What are the pros and cons of the three different caching systems? Specially, when using Symfony 2.8 vs. when using Symfony 3.x? What is the load, they will put on the System?</p>
  
  <p>If the question is to opinion based, please feel free to close it.</p>