supermannerの落書き

基礎からおさらい。おさらいが何よりも大事なのです。ふわっとした知識、撲滅!

キャッシュってなんなの?美味しいの?

ものを知らなすぎてがけっぷちエンジニア

なので、何を知らなかったのかを残していこうと思います。

今日はキャッシュについて調べたよ。

いろんなキャッシュがいた話

当方、LAMP環境で開発をしていたのです。其の中でもよく耳にするキャッシュと言うワード...とりわけよく聞いてて、名前だけ知ってるっていうのだけでも4個くらいいました。

  1. APC
  2. memcache
  3. ブラウザキャッシュ
  4. アプリケーションキャッシュ

 一個一個、調べていこうと思います。

PHPアクセラレータ

今日はAPCについて調べようと思います。

APCとは...???公式がものすごく丁寧に解説してくれてました。

PHP: 導入 - Manual

PHPアクセラレータのひとつとありますね。APC以外にもあるみたいです。

コンパイル後の中間コードをキャッシュしておくもの、この表現すごくわかりやすいですね。

ちなみに当方は一応大学は情報系の学部を出ておりました、C言語の授業は出たことが有ります。gccコマンドでコンパイルをした記憶もあります。

ですがPHPにはそんなもんないなーと思ってたので、先日お友達に

PHPってコンパイルしてたんやな。」

っていうと

「機械は結局1と0しか読めへんねんから、全部プログラム言語はコンパイルされてるんやで。」

ってすごく恥ずかしい指摘をされたのがこちらのアカウントになります。

PHPインタプリタ方式でコンパイルされるのでゴニョゴニョっていうのはまた別の機会に調べようと思います。

あともう一つ、メモリ上のKVSとしての機能も持ってるみたいです。こっちの使い方はしたことない気がしてる...

何のために?

CPUのパワーが無い場合、毎回コンパイルしてたらふええええ(´・ω・`)状態になるので一回コンパイルしたらそれをキャッシュしておこうよ其のほうが速いんだよ(`・ω・´)ゞ

ってことらしい。

じゃあ、実際入れてみる

こちらのページを参考にしていれてみました。


APCでPHPの処理を高速化 | Webクリエイターネット

途中手順通りにしてたはずがつまずいた

sudo pecl install apc WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update downloading APC-3.1.13.tgz ... Starting to download APC-3.1.13.tgz (171,591 bytes) .....................................done: 171,591 bytes 55 source files, building running: phpize sh: phpize: コマンドが見つかりません ERROR: `phpize' failed

 

調べてたら、どうもphp-develにバージョン番号がいらなかった模様なので、そこ外してもう一度インストールを図ったら行けました。

 

その後、コンソール画面が表示されないなどのアクシデントにみまわれつつ、

結局apacheの再起動してなかったせいなのかな、試行錯誤のすえ

f:id:mannerbookmarking:20150203132752p:plain

 ちゃんとでた。

 

apcを採用するときはググって設定をカスタムしてみようと思います。