ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してmemcacheキー/値が存在するかどうかを確認する方法

PHPを使用してmemcacheキー/値が存在するかどうかを確認する方法

jacklove
jackloveオリジナル
2018-06-09 10:19:351470ブラウズ

1. memcache の概要

memcache は、データ キャッシュや分散 Web サイト セッション ストレージなどに使用される分散キャッシュ ソフトウェアのセットです。 。 key=>value メソッドを使用してデータを保存し、データ圧縮ストレージ処理とデータ有効期限処理をサポートします。
value は文字列のみをサポートします。他の形式が必要な場合は、まず json に変換してから保存できます。

使用法:

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100); // 保存数据echo $m->get(&#39;foo&#39;); // 读取数据?>

memcache をデータ キャッシュとして使用する手順は通常
1 です。memcache にデータがあるかどうかを確認し、データがある場合は直接返します。それ以外の場合は、データ ソースからデータを取得します。
2. データソースからデータを取得したら、それをキャッシュとして memcache に書き込み、次のリクエストを待ちます。

2. memcache データが存在するかどうかを判断する

memcache にデータがあるかどうかを判断するには、通常、get メソッドでデータを取得し、データは間違っています。

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);$m->set(&#39;foo&#39;, 100);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}$m->delete(&#39;foo&#39;);if($m->get(&#39;foo&#39;)){    echo &#39;foo 存在<br>&#39;;
}else{    echo &#39;foo 不存在<br>&#39;;
}?>

ただし、この判定は厳密ではありません。値が false または null の場合、キーが存在するかどうかでデータが存在するかどうかを判断できます。 。

3. memcache キーが存在するかどうかを確認します。

<?php$m = new Memcache;$m->connect(&#39;localhost&#39;, 11211);// 正常值判断echo &#39;正常值判断:&#39;;$m->set(&#39;foo&#39;, 100);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// false判断echo &#39;false判断:&#39;;$m->set(&#39;foo&#39;, false);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// null判断echo &#39;null判断:&#39;;$m->set(&#39;foo&#39;, null);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// 数据过期后判断,1秒后过期echo &#39;过期判断:&#39;;$m->set(&#39;foo&#39;, 100, 0, 1);
sleep(2);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}// delete后判断echo &#39;delete后判断:&#39;;$m->set(&#39;foo&#39;, 100);$m->delete(&#39;foo&#39;);if(check_key_exists($m, &#39;foo&#39;)){    echo &#39;foo key存在<br>&#39;;
}else{    echo &#39;foo key不存在<br>&#39;;
}/**
 * @param Obj      $m    memcache obj
 * @param String   $name key name
 * @return Boolean
 */function check_key_exists($m, $name){
    $data = $m->get($name);    return $data!==false;
}?>

出力:
正常値判定: foo キーが存在します。 False判定:fooキーが存在する
Null判定:fooキーが存在する
期限切れ判定:fooキーが存在しない
削除後の判定:fooキーが存在しない


キーのみis delete または has Expired の場合は、値が null/false であっても存在しないと判断されます。

注: value の値が false の場合、memcache get メソッドを使用して取得される結果は "" 空の文字列です, memcache は文字列データしか保存できないため、保存時に false は空の文字列に変換されます。

この記事では、PHP を使用して memcache キー/値が存在するかどうかを確認する方法について説明します。詳細については、PHP 中国語 Web サイトを参照してください。

関連する推奨事項:

php がヘッダーを通じてカスタム データを送信できるようにする方法

mysql を通じて inet_aton と inet_ntoa を使用する方法IP アドレス データの処理

gzip 圧縮を使用した php json データの出力関連コンテンツ

以上がPHPを使用してmemcacheキー/値が存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。