The APCIterator class
(PECL apc >= 3.1.1)
Introduction
The APCIterator class makes it easier to iterate over large APC caches. This is helpful as it allows iterating over large caches in steps, while grabbing a defined number of entries per lock instance, so it frees the cache locks for other activities rather than hold up the entire cache to grab 100 (the default) entries. Also, using regular expression matching is more efficient as it's been moved to the C level.
Class synopsis
APCIterator
implements
Iterator
{
/* Methods */
public __construct
( string
}$cache
[, mixed $search
= null
[, int $format
= APC_ITER_ALL
[, int $chunk_size
= 100
[, int $list
= APC_LIST_ACTIVE
]]]] )Table of Contents
- APCIterator::__construct — Constructs an APCIterator iterator object
- APCIterator::current — Get current item
- APCIterator::getTotalCount — Get total count
- APCIterator::getTotalHits — Get total cache hits
- APCIterator::getTotalSize — Get total cache size
- APCIterator::key — Get iterator key
- APCIterator::next — Move pointer to next item
- APCIterator::rewind — Rewinds iterator
- APCIterator::valid — Checks if current position is valid
Коментарии
This class will NOT EXIST if the APC extension is installed but disabled in your php.ini.
This is an important difference to functions like apc_store(), which will still exist and be callable even when APC is disabled. In many installations, the default settings are
apc.enabled = on
apc.enable_cli = off
which means that APCIterator exists for HTTP requests, but not with the "cli" SAPI. The solution is to either set "apc.enable_cli" to "on" (with the resultant startup penalty for CLI scripts), or to check the relevant ini settings before your script tries to access APCIterator.