apc_delete

(PECL apc >= 3.0.0)

apc_delete 从用户缓存中删除某个变量

说明

mixed apc_delete ( string $key )

从数据存储里删除某个变量。

参数

key

key 即是你用 apc_store() 存储数据时所设定的标记名称。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE

范例

Example #1 A apc_delete() 范例

<?php
$bar 
'BAR';
apc_store('foo'$bar);
apc_delete('foo');
// this is obviously useless in this form
?>

参见

User Contributed Notes

Tom Gidden 26-Jan-2015 09:08
To clarify "FALSE on failure", apc_delete on a key that does not exist will return FALSE; in other words, it's not just a test to see if APC works.
J Fox 11-Jan-2011 06:25
Contrary to what's documented here - apc_delete also accepts and array of keys or even an APCIterator object, making batch operations a breeze (tested in version 3.1.3p1):

<?php

function showCache() {
   
$cachedKeys = new APCIterator('user', '/^MY_APC/', APC_ITER_VALUE);
   
    echo
"\nkeys in cache\n-------------\n";
    foreach (
$cachedKeys AS $key => $value) {
        echo
$key . "\n";
    }
    echo
"-------------\n";
}

apc_add('MY_APC_TESTA_1','1');
apc_add('MY_APC_TESTA_2','2');
apc_add('MY_APC_TESTA_3','3');
apc_add('MY_APC_TESTB_4','4');
apc_add('MY_APC_TESTB_5','5');
apc_add('MY_APC_TESTB_6','6');

showCache();

/* outputs:

keys in cache
-------------
MY_APC_TESTB_4
MY_APC_TESTB_5
MY_APC_TESTB_6
MY_APC_TESTA_1
MY_APC_TESTA_2
MY_APC_TESTA_3
-------------
*/

// delete all keys beginning with a regex match on MY_APC_TESTA
$toDelete = new APCIterator('user', '/^MY_APC_TESTA/', APC_ITER_VALUE);

var_dump( apc_delete($toDelete) );
// returns boolean true|false on success or failure

showCache();

/* outputs:

boolean true

keys in cache
-------------
MY_APC_TESTB_4
MY_APC_TESTB_5
MY_APC_TESTB_6
-------------
*/

// explicitly delete an array of keys
var_dump( apc_delete( array('MY_APC_TESTB_4','MY_APC_TESTB_5','MY_APC_NOT_EXISTS')) );
// returns an array of keys that where not found/removed from the cache

showCache();

/* outputs:

array
  0 => string 'MY_APC_NOT_EXISTS' (length=17)

keys in cache
-------------
MY_APC_TESTB_6
-------------
*/

// delete a single key
var_dump( apc_delete('MY_APC_TESTB_6') );
// returns boolean true|false on success or failure

showCache();

/* outputs:

boolean true

keys in cache
-------------
-------------
*/
?>
dave1010 at gmail dot com 03-Jun-2010 03:26
To clear out the whole APC user cache:

<?php
$info
= apc_cache_info("user");
foreach (
$info['cache_list'] as $obj) {
   
apc_delete($obj['info']);
    print
'Deleted: ' . $obj['info'] . PHP_EOL;
}
?>