MemcacheのPHPでの使用テクニック

2311 ワード

add($key, $value, $expiry);
$key:書き込みデータを区別する一意のID
$value:書き込むデータ
$expiry:期限切れ、デフォルトは常に有効
用途:memcacheにデータを書き込む
get($key)
$key:書き込み時の$keyで対応するデータを取得
用途:memcacheのデータを取得する
replace($key, $value, $expiry)
このメソッドパラメータはaddメソッドのパラメータと同じです
用途も明らかにデータの置き換えです
delete($key, $time = 0)
$key:一意のID
$time:遅延時間
用途:memcacheに格納されているデータを削除する
具体的な使い方を見てみましょう.
add($key, $value, $expiry);
$key:書き込みデータを区別する一意のID
$value:書き込むデータ
$expiry:期限切れ、デフォルトは常に有効
用途:memcacheにデータを書き込む
get($key)
$key:書き込み時の$keyで対応するデータを取得
用途:memcacheのデータを取得する
replace($key, $value, $expiry)
このメソッドパラメータはaddメソッドのパラメータと同じです
用途も明らかにデータの置き換えです
delete($key, $time = 0)
$key:一意のID
$time:遅延時間
用途:memcacheに格納されているデータを削除する
具体的な使い方を見てみましょう.
コード#コード#
 
  
$m = new Memcache();
$m->connect('localhost', 11211);
$data = 'content'; //
$m->add('mykey', $data);echo $m->get('mykey'); // content
$m->replace('mykey', 'data'); // dataecho $m->get('mykey');// data
$m->delete('mykey'); // echo $m->get('mykey'); // false ..
?>

简単じゃないか..実際のアプリケーションでは、通常、データベース・クエリーの結果セットがmemcachedに保存されます.
次回のアクセス時にmemcachedから直接取得し、データベースクエリー操作を行わないことで、データベースの負担を大幅に軽減できます.
通常、SQL文md 5()以降の値は一意の識別子keyとして使用されます.次はmemcachedを使用してデータベース・クエリーの結果セットをキャッシュする例です.
コード#コード#
 
  
// memcache
$m = new Memcache();
$m->connect('localhost', 11211);
// .
$sql = 'SELECT * FROM users';
$key = md5($sql); //md5 SQL memcache
$rows = $m->get($key); // memcache
if (!$rows) {
// $rows false ,
$res = mysql_query($sql);
$rows = array();
while ($row = mysql_fetch_array($res)) {
$rows[] = $row;
}
$m->add($key, $rows);
// , , , .
}
var_dump($rows); //
// , , , , memcache .
?>