首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用外卡清除apcu

用外卡清除apcu
EN

Stack Overflow用户
提问于 2015-05-18 20:46:29
回答 2查看 1.6K关注 0票数 3

是否可以使用通配符清除apcu缓存?

例如,我可能有一堆缓存密钥:

products_fooandbars product_1_foo

users_fooandbars user_1_foo user_1_bar

user_2_foo user_2_bar

是否有一种方法可以清除用户1所拥有的与此user_1_*类似的所有内容,还是清除所有用户的类似于此user_*的

我在理论apc缓存类中使用Symfony

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-26 18:16:53

OP指的是http://php.net/manual/en/book.apcu.php,而不是APC。

在函数名称等方面没有太大的差别,但最好让任何人都清楚,APC是旧版本,APCu是新版本,具有更好的实现。

旧的APC实现了操作码缓存和用户对象缓存。APCu只实现用户对象缓存。对于操作码缓存,您可以使用其他东西,如Zend OPcache。尽管如此,以下是@Evgenly‘s的最新版本:

代码语言:javascript
复制
// delete all keys beginning with a regex match
foreach(new APCUIterator('/^MY_KEY/') as $apcu_cache){
    echo 'key: ' . $apcu_cache['key'] . PHP_EOL;
    echo 'val: ' . $apcu_cache['value'];
    apcu_delete($apcu_cache['key']); 
}

前面是说明性的,您也可以这样做:

代码语言:javascript
复制
apcu_delete(new APCUIterator('/^MY_KEY/'));
票数 2
EN

Stack Overflow用户

发布于 2015-05-18 21:21:08

我相信你应该试一试,因为它被描述为http://php.net/manual/en/function.apc-delete.php#101794

代码语言:javascript
复制
// delete all keys beginning with a regex match on MY_APC_TESTA
$toDelete = new APCIterator('user', '/^MY_KEY/', APC_ITER_VALUE);

var_dump( apc_delete($toDelete) ); 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30312532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档