memcached、APCu 或 redis 作为 Symfony 和 Doctrine 的缓存

memcached, APCu or redis as cache for Symfony and Doctrine

我们目前正在努力决定,我们应该使用 Symfony 和 Doctrine 的缓存。它背后的想法是通过缓存值来减少负载和数据库调用。有问题的缓存系统是:memcached, APCu and redis.

我们目前最喜欢的是 APCu,因为 memcache 可能会有少量开销,因为它可以 运行 作为分布式缓存,但它也允许直接在 memcache 中存储 PHP 会话. Redis seams "to much" 因为它可以用作 DB,所以可能会有很多开销,剩下 APCu。

我们目前使用的Symfony版本是2.8,近期我们可能会更新到3.x,为了更好的整合缓存(对于3.1 and 3.3我们可能会等待Symfony 3.3 版本)

memcached 的优势很明显,它是分布式的,意味着多个服务器可以访问它。然而,我们目前 运行 Symfony 应用程序仅在一台服务器上运行,目前还没有改变这一点的计划。

问题:三种不同的缓存系统各有什么优缺点?特别是,使用 Symfony 2.8 与使用 Symfony 3.x 时相比?他们会给系统带来什么负载?

如果问题是基于意见的,请随时将其关闭。

apcu 和 redis 用于数据存储(如学说元数据)有一个处理会话和学说元数据的 redis 包 https://github.com/snc/SncRedisBundle