メモリキャッシュシステムであるMemcachedをPHPにて利用する方法
2024/05/22
メモリキャッシュシステムであるMemcachedのインストール方法、IP制限、PHPでの簡単な使い方についてのメモ。
インストール
サーバにSSH接続し以下コマンドでインストールする。
yum install memcached php-pecl-memcache
IP制限
以下で設定ファイルを開く。
vi /etc/rc.d/init.d/memcached
以下を追記する。
OPTIONS=”-l アクセス許可したいIP”
以下で再起動すると反映される筈。
service memcached restart
使い方
ソースコード
<?php /* memcachedとの接続 */ $memcache = new Memcache; $memcache->addServer("IPアドレス", ポート); /* データの保存 */ $memcache->add('key名', 'value値', 0, 3600); /* データの検索 */ $data = $memcache->get('key名'); echo $data; /* 切断 */ $memcache->close(); ?>
尚、変数だけではなく配列も直接格納できる。
$hash = array( 'name' => '田中', 'age' => 19, 'bool' => true ); $memcache->add('test', $hash, 0, 3600); $data = $memcache->get('test'); var_dump($data); //以下が出力される array(3) { ["name"]=> string(6) "田中" ["age"]=> int(19) ["bool"]=> bool(true) }
リファレンスについて
https://www.php.net/manual/ja/class.memcache.php
使いどころ
MySQLの検索結果をmemcachedに格納するのが良さそう。保存期間を10分とかにしておけば10分に1回しかMySQLに参照しにいかないので負荷も下がり、検索速度も上がる。
注意点
サーバーやmemcachedを再起動した際はデータが全て消える点に注意する。
関連記事
-
PHPでbool値(true / false)を文字列として出力する方法
PHPにてbool値(true / false)をechoで出力するとtrueは ...
-
ブラウザ上でファイルのアップ・ダウンロードが可能なTiny File Managerの利用方法
ブラウザ上でファイルのアップ・ダウンロードが可能なファイルマネージャーを設置した ...
-
セレクトメニューとテキストエリアの連動
やりたかった事は、 ・セレクトメニューで何れかを選択すると連動したテキストエリア ...
-
CodeIgniter4.4.4のインストールからHello Worldページ表示まで行う方法
以前CodeIgniter3を勉強したことがあったが新バージョンの4系がリリース ...
-
PHPで引数の先頭に&(アンパサンド)をつける参照渡し(リファレンス渡し)について
他社が作成されたPHPのソースコードを拝見していると関数の引数の頭に&( ...