yii2中memcache緩存時間無效的解決辦法

一、我們配置memcache 在main.php配置文件中
'cache' => [
'class' => 'yii\caching\MemCache',
'servers' => [
[
'host' => '127.0.0.1',
'port' => 11211,
'weight' => 60,
],
],
],
二、在控制器中進行測試
$key = 'name';
$value = 'dudj;
$expire = 30;
Yii::$app->cache->set($key,$value,$expire);
var_dump(Yii::$app->cache->get($key));//FALSE
這是爲什麼呢???
三、這是yii2框架本身的一個bug
你需要跟蹤代碼
因爲我們memcache緩存使用的是memcache的緩存類
設置值使用的是setValue方法
這裏面有效時間進行了累加,因此出現了錯誤
我們這樣修改
將返回結構中的第二個$expire修改爲$duration變量
然後進行測試
輸出:dudj
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章