php memcacheシングルトン

WBOY
リリース: 2016-07-30 13:30:05
オリジナル
1180 人が閲覧しました

  1. まず、 new が外部から許可されないように __construct() を private に設定します
  2. クラス内でオブジェクトをインスタンス化します。外部から利用できる限り
<code><span><span>class</span><span>Mem</span><span>extends</span><span>Memcache</span>{</span><span>private</span><span>static</span><span>$mem_instance</span> = <span>null</span>;
    <span>private</span><span><span>function</span><span>__construct</span><span>()</span>{</span><span>parent</span>::__construct();
    }
    <span>private</span><span><span>function</span><span>__clone</span><span>()</span>{</span>}
    <span>public</span><span>static</span><span><span>function</span><span>get_mem_ins</span><span>()</span>{</span><span>if</span>(<span>null</span> === <span>self</span>::<span>$mem_instance</span>){
            <span>self</span>::<span>$mem_instance</span> = <span>new</span> Memcache;
        }
        <span>return</span><span>self</span>::<span>$mem_instance</span>;
    }
}</code>
ログイン後にコピー
  1. memcache操作
<code><span><?</span>php
    <span>//连接</span><span>$mem</span><span>=</span><span>new</span> Memcache;
    <span>$mem</span><span>-></span>connect(<span>"db.nowamagic.net"</span>, <span>12000</span>);
    <span>//保存数据</span><span>$mem</span><span>-></span><span>set</span>(<span>'key1'</span>, <span>'This is first value'</span>, <span>0</span>, <span>60</span>);
    <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
    echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br />"</span>;
    <span>//替换数据</span><span>$mem</span><span>-></span>replace(<span>'key1'</span>, <span>'This is replace value'</span>, <span>0</span>, <span>60</span>);
    <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
    echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br />"</span>;
    <span>//保存数组</span><span>$arr</span><span>=</span><span>array</span>(<span>'aaa'</span>, <span>'bbb'</span>, <span>'ccc'</span>, <span>'ddd'</span>);
    <span>$mem</span><span>-></span><span>set</span>(<span>'key2'</span>, <span>$arr</span>, <span>0</span>, <span>60</span>);
    <span>$val2</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key2'</span>);
    echo <span>"Get key2 value: "</span>;
    print_r(<span>$val2</span>);
    echo <span>"<br />"</span>;
    <span>//删除数据</span><span>$mem</span><span>-></span>delete(<span>'key1'</span>);
    <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
    echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br />"</span>;
    <span>//清除所有数据</span><span>$mem</span><span>-></span>flush();
    <span>$val2</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key2'</span>);
    echo <span>"Get key2 value: "</span>;
    print_r(<span>$val2</span>);
    echo <span>"<br />"</span>;
    <span>//关闭连接</span><span>$mem</span><span>-></span>close();
<span>?></span><span></span></code>
ログイン後にコピー
  1. 出力
<code>Get key1 <span>value</span>: This <span>is</span> first <span>value</span>
Get key1 <span>value</span>: This <span>is</span> replace <span>value</span>
Get key2 <span>value</span>: Array ( [<span>0</span>] => aaa [<span>1</span>] => bbb [<span>2</span>] => ccc [<span>3</span>] => ddd )
Get key1 <span>value</span>:
Get key2 <span>value</span>:</code>
ログイン後にコピー

著作権表示: 知識は人々から来て、人々によって使用されます。転載は歓迎ですので、記事の冒頭にリンクを貼ってください。

上記では、関連するコンテンツを含めて php memcache シングルトンを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート