Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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
Php Yii2使用memcache设置并获取缓存值_Php_Caching_Yii2_Memcached - Fatal编程技术网

Php Yii2使用memcache设置并获取缓存值

Php Yii2使用memcache设置并获取缓存值,php,caching,yii2,memcached,Php,Caching,Yii2,Memcached,我试图通过键获取缓存值,在本例中,值为“count”。但有时我得到了价值,有时没有。钥匙的长度是一样的。问题在哪里 $cache = Yii::$app->cache; $q= Yii::$app->getSecurity()->generateRandomString(24) . time() ; $key = 'captcha_value_' . $q; $cache->set($key, 'count'); echo "

我试图通过键获取缓存值,在本例中,值为“count”。但有时我得到了价值,有时没有。钥匙的长度是一样的。问题在哪里

   $cache = Yii::$app->cache;

    $q=  Yii::$app->getSecurity()->generateRandomString(24) . time() ;
    $key = 'captcha_value_' . $q;

    $cache->set($key, 'count');

    echo "<br/>$key: ".$cache->get($key)."";
我找到了解决办法

问题是出于某种原因,我有两个Memcache服务器。一个主机是localhost,另一个主机是memcache。他们互相替换

要解决此问题,需要在文件common/config/main-local.php中指定缓存帮助器方法ReplaceArrayValue

'cache' =>  [
        'class' => 'yii\caching\MemCache',
        'servers' => new \yii\helpers\ReplaceArrayValue([
            [
                'host' => 'memcache',
                'port' => 11211,
            ],
        ]),
        'useMemcached' => true,
    ],
我找到了解决办法

问题是出于某种原因,我有两个Memcache服务器。一个主机是localhost,另一个主机是memcache。他们互相替换

要解决此问题,需要在文件common/config/main-local.php中指定缓存帮助器方法ReplaceArrayValue

'cache' =>  [
        'class' => 'yii\caching\MemCache',
        'servers' => new \yii\helpers\ReplaceArrayValue([
            [
                'host' => 'memcache',
                'port' => 11211,
            ],
        ]),
        'useMemcached' => true,
    ],

您是否尝试过使用文件缓存或其他缓存存储引擎?您是否尝试过使用文件缓存或其他缓存存储引擎?