centos5.11でのWEBサーバー構築:(memcached:サーバー編) - masalibの日記
の続きでクライアント編です
確認は普通のPHPとzendframeworkのcacheでおこないます
6−7・クライアント側インストール用ライブラリをインストール
yum install gcc44 gcc44-c++ libstdc++44-devel -y #gcc反映 export CC=/usr/bin/gcc44 export CXX=/usr/bin/g++44
6−8・サーバー側のソースのダウンロードと解凍とインストール
PECL::memcacheとPECL::memcachedがある
PECL::memcachedの方が性能がいいらしいので、
PECL::memcachedを使用する
#libmemcachedのインストール cd /usr/local/src/ wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz tar -zxvf libmemcached-1.0.18.tar.gz cd libmemcached-1.0.18 ./configure --prefix=/usr/local/libmemcached make make install #memcachedのインストール cd /usr/local/src/ wget http://pecl.php.net/get/memcached-2.2.0.tgz tar -zxvf memcached-2.2.0.tgz cd memcached-2.2.0 phpize aclocal ./configure --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl make make test #途中でreport?と聞かれるのでyを入力してエンターキーを押す make install
6−9・php.iniの設定変更
vim /etc/php.ini #extension=memcached.so # ↑上記を追加 service httpd configtest #問題なければ service httpd reload
6−10・動作確認
#memcachedが認識されていることを確認する php -m | grep memcache #内容をコピペする vim /usr/local/apache2/htdocs/testmemecached.php
<!--?php //memcachedにデータを書き込む $m = new Memcached(); $m--->addServer('localhost', 11211); $m->set('key1', 'cat', 3600); // キー,バリュー,有効期限(秒) $m->set('key2', 'dog', 3600); // キー,バリュー,有効期限(秒) $m = NULL; //memcachedからデータを読み込む $m = new Memcached(); $m->addServer('localhost', 11211); if ($val = $m->get('key1')) { echo $val .'<br>'; } if ($val = $m->get('key2')) { echo $val .'<br>'; } ?>
#取得できるのか確認する cd wget http://localhost/testmemecached.php view testmemecached.php # cat<br>dog<br>と表示されることを確認する
6−11・ZendFrameworkのmemcachedの動作確認
ZendFrameworkでのmemcachedができることを確認する
#内容をコピペする vim /usr/local/apache2/htdocs/zemdmem_cached_input.php
<!--?php require_once 'Zend/Cache.php'; $frontend = array( 'lifetime' =--> 300, ); // バックエンド(Memcached)の設定 $backend = array( 'servers' => array( array( 'host' => 'localhost', 'port' => 11211, 'persistent' => true, 'timeout' => 300, 'weight' => 1, 'retry_interval' => 15, 'status' => true, 'failure_callback' => null, ), ), 'compression' => true, ); $cache = Zend_Cache::factory("Core", "Memcached", $frontend, $backend); // データをキャッシュ $cache->save("value1", "key1"); $cache->save("value2", "key2"); $cache->save("value3", "key3"); ?> input proc success
#内容をコピペする vim /usr/local/apache2/htdocs/zemdmem_cached_ouput.php
<!--?php require_once 'Zend/Cache.php'; $frontend = array( 'lifetime' =--> 300, ); // バックエンド(Memcached)の設定 $backend = array( 'servers' => array( array( 'host' => 'localhost', 'port' => 11211, 'persistent' => true, 'timeout' => 300, 'weight' => 1, 'retry_interval' => 15, 'status' => true, 'failure_callback' => null, ), ), 'compression' => true, ); $cache = Zend_Cache::factory("Core", "Memcached", $frontend, $backend); // データの出力 echo $cache->load("key1"); echo "<br>"; echo $cache->load("key2"); echo "<br>"; echo $cache->load("key3"); echo "<br>"; ?> output proc success
#動作確認する
wget http://localhost/zemdmem_cached_ouput.php
wget http://localhost/zemdmem_cached_ouput.php