PHPKonf 2020 Online

The APCIterator class

(PECL apc >= 3.1.1)


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 ]]]] )
public current ( void ) : mixed
public getTotalCount ( void ) : int
public getTotalHits ( void ) : int
public getTotalSize ( void ) : int
public key ( void ) : string
public next ( void ) : bool
public rewind ( void ) : void
public valid ( void ) : bool

Table of Contents

add a note add a note

User Contributed Notes 1 note

Stefan W
7 years ago
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.
To Top