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
true
http://www.bkjia.com/PHPjc/923901.html
技術記事
PHP メモリ キャッシュ Memcached クラスの例、phpmemcached この記事では、PHP メモリ キャッシュ Memcached クラスの例について説明します。参考のためにみんなで共有してください。 具体的な実装方法は以下の通りです コードをコピー コードは以下の通りです...