当前位置:Gxlcms > PHP教程 > phpmemcache单例

phpmemcache单例

时间:2021-07-01 10:21:17 帮助过:20人阅读

  1. 先将__construct()设置为 private 这样就不允许在外部 new 了
  2. 在类的内部实例化一个对象。外部可以得到就行
  1. <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>;
  2. <span>private</span><span><span>function</span><span>__construct</span><span>()</span>{</span><span>parent</span>::__construct();
  3. }
  4. <span>private</span><span><span>function</span><span>__clone</span><span>()</span>{</span>}
  5. <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>){
  6. <span>self</span>::<span>$mem_instance</span> = <span>new</span> Memcache;
  7. }
  8. <span>return</span><span>self</span>::<span>$mem_instance</span>;
  9. }
  10. }</code>
  1. memcache 操作
  1. <code><span><!--?</span-->php
  2. <span>//连接</span><span>$mem</span><span>=</span><span>new</span> Memcache;
  3. <span>$mem</span><span>-></span>connect(<span>"db.nowamagic.net"</span>, <span>12000</span>);
  4. <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>);
  5. <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
  6. echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br>"</span>;
  7. <span>//替换数据</span><span>$mem</span><span>-></span>replace(<span>'key1'</span>, <span>'This is replace value'</span>, <span>0</span>, <span>60</span>);
  8. <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
  9. echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br>"</span>;
  10. <span>//保存数组</span><span>$arr</span><span>=</span><span>array</span>(<span>'aaa'</span>, <span>'bbb'</span>, <span>'ccc'</span>, <span>'ddd'</span>);
  11. <span>$mem</span><span>-></span><span>set</span>(<span>'key2'</span>, <span>$arr</span>, <span>0</span>, <span>60</span>);
  12. <span>$val2</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key2'</span>);
  13. echo <span>"Get key2 value: "</span>;
  14. print_r(<span>$val2</span>);
  15. echo <span>"<br>"</span>;
  16. <span>//删除数据</span><span>$mem</span><span>-></span>delete(<span>'key1'</span>);
  17. <span>$val</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key1'</span>);
  18. echo <span>"Get key1 value: "</span><span>.</span><span>$val</span><span>.</span><span>"<br>"</span>;
  19. <span>//清除所有数据</span><span>$mem</span><span>-></span>flush();
  20. <span>$val2</span><span>=</span><span>$mem</span><span>-></span>get(<span>'key2'</span>);
  21. echo <span>"Get key2 value: "</span>;
  22. print_r(<span>$val2</span>);
  23. echo <span>"<br>"</span>;
  24. <span>//关闭连接</span><span>$mem</span><span>-></span>close();
  25. <span>?></span><span></span></span></code>
  1. 输出
  1. <code>Get key1 <span>value</span>: This <span>is</span> first <span>value</span>
  2. Get key1 <span>value</span>: This <span>is</span> replace <span>value</span>
  3. Get key2 <span>value</span>: Array ( [<span>0</span>] => aaa [<span>1</span>] => bbb [<span>2</span>] => ccc [<span>3</span>] => ddd )
  4. Get key1 <span>value</span>:
  5. Get key2 <span>value</span>:</code>

版权声明:知识取之于民,用之于民!欢迎转载,转载请开头附上本文链接,不定期更新文章!

以上就介绍了php memcache单例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行