PHP Velho Oeste 2024

APCIterator クラス

(PECL apc >= 3.1.1)

はじめに

APCIterator クラスを使うと、巨大な APC キャッシュの反復処理を容易に行えます。 巨大なキャッシュを順を追って処理し、 ロックインスタンス単位で決まった数のエントリを取得することができます。 そのため、キャッシュ全体を抱え込んで 100 件 (デフォルト) のエントリを取り込むのではなく、 キャッシュのロックを解放して他の操作ができる状態にすることが可能です。 また、正規表現によるマッチングは C 言語レベルで行われるのでより効率的です。

クラス概要

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
}

目次

add a note add a note

User Contributed Notes 1 note

up
7
Stefan W
10 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