メモリマネージャメモリマネージャの作成新しいメモリマネージャ (Zend_Memory_Manager オブジェクト) を作成するには、 Zend_Memory::factory($backendName [, $backendOprions]) メソッドを使用します。
最初の引数
二番目の引数
Zend_Memory は Zend_Cache のバックエンド を使用してデータを保存します。 標準の Zend_Cache のバックエンドに加え、特別な名前 'None' をバックエンド名として使用することもできます。
バックエンド名に 'None' を使用すると、 メモリマネージャは決してメモリブロックをスワップしなくなります。 メモリの制限がない場合、あるいはオブジェクトのサイズが 決してメモリの制限に達しない場合などに有用です。 'None' バックエンドには何もオプションを指定する必要がありません。 メモリオブジェクトの管理この節では、管理しているメモリ内でのオブジェクトの作成や破棄の方法、 そしてメモリマネージャの挙動を設定する方法を説明します。 移動可能なオブジェクトの作成移動可能なオブジェクト (スワップされる可能性のあるオブジェクト) を作成するには、 Zend_Memory_Manager::create([$data]) メソッドを使用します。
引数 ロックされたオブジェクトの作成ロックされたオブジェクト (スワップされないオブジェクト) を作成するには、 Zend_Memory_Manager::createLocked([$data]) メソッドを使用します。
引数 オブジェクトの破棄メモリオブジェクトは、それがスコープの外に出た際に 自動的に破棄され、メモリから削除されます。
これは、移動可能なオブジェクトとロックされたオブジェクトの どちらにもあてはまります。 メモリオブジェクトの設定メモリの制限メモリの制限とは、移動可能なオブジェクトを読み込む際に 使用できるバイト数のことです。 オブジェクトを読み込んだり作成したりすることで この制限をこえてしまう場合は、 メモリマネージャは他のオブジェクトのどれかをスワップします。 メモリの制限を取得あるいは設定するには、 getMemoryLimit() メソッドおよび setMemoryLimit($newLimit) メソッドを使用します。
メモリの制限に負の値を設定すると、'制限なし' を意味します。 デフォルト値は、php.ini の 'memory_limit' の値の三分の二となります。もし php.ini で 'memory_limit' が設定されていない場合は、デフォルト値は '制限なし' (-1) となります。 MinSizeMinSize は、メモリマネージャがスワップの対象とするメモリオブジェクトの最小サイズです。 メモリマネージャは、この値より小さなサイズのオブジェクトはスワップしません。 これにより、スワップや読み込みの回数が莫大なものになることを防ぎます。 最小サイズを取得あるいは設定するには、 getMinSize() メソッドおよび setMinSize($newSize) メソッドを使用します。
デフォルト値は 16KB (16384 バイト) です。
|