9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pcache / APCu / APC を使えるPHPのバージョンとそれぞれの違い

Posted at

概要

webtoolsというサイトの一部ページのUIを修正した。

その時にキャッシュを導入しようかと思ったんだけど、
PHP の実行速度高速化のためにキャッシュを導入するとき、
OPcache, APCu, APC がそれぞれどの PHP のバージョンに対応しているのか、
それぞれがどういう機能なのかがいつもわからなくなるためメモ。

なお、内容はPcache / APCu / APC を使えるPHPのバージョンとそれぞれの違いに書いてあることの転載。

キャッシュエクステンションとPHPのバージョン

PHP5.4 以前 PHP5.5 以降
APC OPcache + APCu

それぞれの機能

Zend OPcache

オペコードキャッシュ(コンパイル後のコードをメモリに保存して再利用)

APCu

ユーザーキャッシュ(オブジェクトや変数をメモリに保存して、別のリクエストからそれを再利用)

APC

オペコードキャッシュ + ユーザーキャッシュ

PHPのバージョンによってキャッシュが異なる理由

APC のオペコードキャッシュ機能に深刻なバグがあり、PHP5.3の時点でPHPから削除された。

APC のオペコードキャシュ機能を削除し、ユーザキャッシュ機能だけを残した APCu がリリースされる。
オペコードキャッシュ機能は OPcache がカバーすることに。

その後、APC の安定板がリリースされたが PHP5.5には対応していない。

結果、PHP5.5以降は OPcache + APCu となった。

関連記事

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?