メモリキャッシュシステムである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で指定日から曜日を割り出す
曜日ってどうやって割り出すの? となったのでメモ。 ■リファレンス http:/ ...
-
-
PHPMailerでメールを送信する際にTLS / SSL暗号化させる方法
PHPMailerでメールを送信したところGmailで確認すると赤い鍵のようなア ...
-
-
フォームからアップロードした画像にPHPでロゴ画像(透かし)を追加する方法
フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を右下等、指定の位 ...
-
-
PHPにてSession発行時に保存されるCookieに対してHttpOnly / Secure属性を設定する方法
先日PHPのsetcookie実行時にHttpOnly / Secure属性を設 ...
-
-
PHPでキーや値は保持したまま順番を入れ替える
PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...