Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 带有memcached和多个实例的Zend_缓存_Zend Framework_Memcached_Zend Cache - Fatal编程技术网

Zend framework 带有memcached和多个实例的Zend_缓存

Zend framework 带有memcached和多个实例的Zend_缓存,zend-framework,memcached,zend-cache,Zend Framework,Memcached,Zend Cache,我正试图让Zend_Cache处理两个不同的memcached实例。这两个实例都是活动的和正在侦听的,我对此进行了测试,但是Zend_Cache继续将所有内容塞进memcached的默认端口,完全忽略了第二个实例。这是我在引导程序中的代码: $backend = array( 'name' => 'Memcached', 'servers' => array( array( 'host' => '127.0.0.1

我正试图让Zend_Cache处理两个不同的memcached实例。这两个实例都是活动的和正在侦听的,我对此进行了测试,但是Zend_Cache继续将所有内容塞进memcached的默认端口,完全忽略了第二个实例。这是我在引导程序中的代码:

    $backend = array(
        'name' => 'Memcached',
        'servers' => array( array(
            'host' => '127.0.0.1',
            'port' => '11211'
        ) ),
        'compression' => true
    );

    $backend_system = array(
        'name' => 'Memcached',
        'servers' => array( array(
            'host' => '127.0.0.1',
            'port' => '11212'
        ) ),
        'compression' => true
    );   

    $systemCache = array(
            'frontend' => array(
                'name' => 'Core',
                'options' => array(
                    'lifetime' => 7*24*60*60,
                    'automatic_serialization' => true
                )
            ),
            'backend' => $backend_system
        );            

    $dataCache = array(
            'frontend' => array(
                'name' => 'Core',
                'options' => array(
                    'lifetime' => 1*60*60,
                    'automatic_serialization' => true
                )
            ),
            'backend' => $backend
        );

    $manager = new Zend_Cache_Manager;
    $manager->setCacheTemplate('system', $systemCache);
    $manager->setCacheTemplate('data', $dataCache);
    Zend_Registry::set( 'manager' , $manager );

这里出了什么问题?

答案很简单:我忘了在$backend*数组中的数组中包含我的选项,如下所示:

    $backend_system = array(
        'name' => 'Memcached',
        'options' => array(
            'servers' => array( array(
                'host' => '127.0.0.1',
                'port' => '11212'
            ) ),
            'compression' => true
        )
    );