ホームページ  >  記事  >  バックエンド開発  >  PHP メモリ キャッシュ Memcached クラスの例、phpmemcached_PHP チュートリアル

PHP メモリ キャッシュ Memcached クラスの例、phpmemcached_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:11929ブラウズ

PHP メモリ キャッシュ Memcached クラス インスタンス、phpmemcached

この記事の例では、PHP メモリ キャッシュ Memcached クラスについて説明します。参考のためにみんなで共有してください。

具体的な実装方法は以下の通りです。

コードをコピーします コードは次のとおりです:
クラス MemcacheModel {
プライベート $mc = null; /**
* サーバーの追加と memcahced オブジェクトの作成に使用される構築方法
*/
関数 __construct(){
$params = func_get_args(); $mc = 新しい Memcache
//memcache サーバーが複数ある場合
if( count($params) > 1){
foreach ($params as $v){
call_user_func_array(array($mc, 'addServer'), $v); }
//memcache サーバーが 1 つしかない場合
} その他 {
call_user_func_array(array($mc, 'addServer'), $params[0]); }
$this->mc=$mc; }
/**
* memcached オブジェクトを取得します
* @return オブジェクト memcached オブジェクト
*/
関数 getMem(){
$this-> を返します
}
/**
*メモリが正常に接続されているかどうかを確認してください
* @return bool 接続が成功した場合は true を返し、それ以外の場合は false を返します
*/
関数 mem_connect_error(){
$stats=$this->mc->getStats(); if(emptyempty($stats)){
false を返します。 }その他{
true を返します。 }
}

プライベート関数 addKey($tabName, $key){
$keys=$this->mc->get($tabName); if(emptyempty($keys)){
$keys=配列(); }
// キーが存在しない場合は、キーを追加します
if(!in_array($key, $keys)) {
$keys[]=$key // このテーブルのキーに新しいキーを追加します
$this->mc->set($tabName, $keys, MEMCACHE_COMPRESSED, 0); return true; // 存在しません return true
}その他{
return false; //存在は false を返します
}
}
/**
* memcache にデータを追加します
* @param string $tabName キャッシュする必要があるデータテーブルの名前
* @param string $sql memcache のキーとして SQL を使用します
* @parammixed $data キャッシュされるデータ
*/
関数 addCache($tabName, $sql, $data){
$key=md5($sql); //存在しない場合
if($this->addKey($tabName, $key)){
$this->mc->set($key, $data, MEMCACHE_COMPRESSED, 0); }
}
/**
* memcahce に保存されているデータを取得します
* @param string $sql は SQL キーを使用します
* @returnmixed はキャッシュ内のデータを返します
*/
関数 getCache($sql){
$key=md5($sql); $this->mc->get($key) を返します
}

/**
* 同じテーブルに関連するすべてのキャッシュを削除します
* @param string $tabName データテーブルのテーブル名
*/
関数 delCache($tabName){
$keys=$this->mc->get($tabName); //同じテーブルのキャッシュをすべて削除します
if(!emptyempty($keys)){
foreach($keys を $key){
$this->mc->delete($key, 0) //0 はすぐに削除することを意味します
; }
}
//テーブルのすべての SQL キーを削除します
$this->mc->delete($tabName, 0); }
/**
* 単一ステートメントのキャッシュを削除します
* @param string $sql SQL ステートメントが実行されました
*/
関数 delone($sql){
$key=md5($sql); $this->mc->delete($key, 0) //0 はすぐに削除することを意味します
; }
}
?>


この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。




http://www.bkjia.com/PHPjc/923901.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/923901.html

技術記事
PHP メモリ キャッシュ Memcached クラスの例、phpmemcached この記事では、PHP メモリ キャッシュ Memcached クラスの例について説明します。参考のためにみんなで共有してください。 具体的な実装方法は以下の通りです コードをコピー コードは以下の通りです...

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