Yii CFileCache似乎没有删除过期的缓存

时间:2014-08-26 04:39:00

标签: php caching yii

在Yii中使用CFileCache时似乎有些问题。它似乎不会自动删除过期的缓存。

这是我在main.php中的configuariton:

    'cache'=>array(
        'class'=>'system.caching.CFileCache',
        'embedExpiry' => true
    )

这是我如何在30秒过期时间内在控制器中设置缓存:

 Yii::app()->cache->set("mykey", "somedata", 30);

我的配置或代码有问题吗?我真的需要这个来解决。 感谢

2 个答案:

答案 0 :(得分:1)

在使用CFileCache时,您可以使用以下内容清除缓存

  1. Yii::app()->cache->flush();。这将删除所有缓存数据,即文件夹' runtime'。
  2. 中的文件
  3. Yii::app()->cache->gc();。这只会删除过期的缓存数据

答案 1 :(得分:0)

删除是什么意思? 根据{{​​3}}中提供的API说明,如果数据项过期,则get将返回false。您是否在30秒后运行get方法并检查返回值?