gpt4 book ai didi

php - yii 删除所有查询缓存

转载 作者:行者123 更新时间:2023-12-02 07:29:11 24 4
gpt4 key购买 nike

我在 centos 5 上使用 Yii 1.14 和 php 5.2.4。我正在执行查询缓存,例如 Projects::model()->cache(timeout,dependancy)->findAll(array())。现在我有很多这样的。有没有办法清除这个应用程序的所有查询缓存。我似乎找不到将这些缓存查询添加到组然后从缓存中删除组的任何信息。问题是我有许多使用 memcache 的应用程序,我不想每次更新前都刷新它。我只想清除与此应用程序相关的所有缓存。

更新我想在更新开始和结束时刷新应用缓存。我在那个位置没有以 cache 开头的文件

 ll paradox/protected/runtime/
total 164
-rw-r--r-- 1 apache apache 155571 Jun 3 15:53 application.log
drwxr-xr-x 2 apache apache 4096 Jun 4 11:53 gii-1.1.12
drwxr-xr-x 2 apache apache 4096 Jun 4 11:53 gii-1.1.14

查看日志 Yii::app()->cache->flush 执行以下操作

<28 new auto-negotiating client connection
28: Client using the ascii protocol
<28 get ns9e5np1ss92i7mqkjues577o1
>28 sending key ns9e5np1ss92i7mqkjues577o1
>28 END
<39 version
>39 VERSION 1.4.5
<39 flush_all
>39 OK

看起来它清除了所有的内存缓存?

最佳答案

要删除所有缓存数据,请使用 flush() 方法:

Yii::app()->cache->flush();

要删除所有过期的缓存数据,请使用 gc() 方法:

Yii::app()->cache->gc();

另一种方式:

//if you use CFileCache
$cache=new CFileCache();
$cache->flush();
//if you use CMemCache
$cache2=new CMemCache();
$cache2->flush();

要查找所有相关方法,请查看 Yii 官方文档:

请注意,flush 方法仅刷新当前运行的应用缓存值。

关于php - yii 删除所有查询缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24035320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com