将Redis用于Symfony / var / cache和/ var / logs

时间:2017-02-09 20:43:30

标签: caching redis symfony homestead

我在Homestead中使用PHP 7.1运行Symfony 3. *实例,并且最近将缓存和日志目录从我的主文件夹中切换出来,因为NFS同步变得疯狂并且大大降低了整个安装的性能。 / p>

我想知道我是否可以通过配置或解决方法以某种方式完全调度通常以./var/到Redis的日志记录和缓存?

1 个答案:

答案 0 :(得分:2)

您可以修改日志以将其关闭或关闭 - 或选择不将其写入文件,而是将其发送到Redis或其他来源。 Monolog可以使用许多可选目标,通常具有支持库和配置。

高速缓存的文件并非设计用于编写其他地方。因为它们被写入磁盘,所以它们可以被OpCache缓存。

但这并不意味着必须将var/*写入真实磁盘。如果你有共享内存,则用作ram-disk(也称为tmpfs)。可以很容易地更改应用程序以使用它 - 用于缓存和/或日志文件:

class AppKernel extends Kernel
{
    // ...

    public function getCacheDir()
    {
        if (in_array($this->environment, array('dev', 'test'))) {
            return '/dev/shm/appname/cache/' .  $this->environment;
        }
        return parent::getCacheDir();
    }

    public function getLogDir()
    {
        if (in_array($this->environment, array('dev', 'test'))) {
            return '/dev/shm/appname/logs';
        }
        return parent::getLogDir();
    }
}

来源:http://www.whitewashing.de/2013/08/19/speedup_symfony2_on_vagrant_boxes.html来自https://stackoverflow.com/a/10784563