php memcache singleton

WBOY
Release: 2016-07-30 13:30:05
Original
1169 people have browsed it

  1. First set __construct() to private so that new is not allowed externally
  2. Instantiate an object inside the class. As long as it is available externally
<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>
Copy after login
  1. memcache operation
<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>
Copy after login
  1. output
<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>
Copy after login

Copyright statement: Knowledge comes from the people, and is used by the people! Reprinting is welcome. Please attach a link to this article at the beginning. The article will be updated from time to time!

The above introduces the php memcache singleton, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template