zoukankan      html  css  js  c++  java
  • Memcache学习笔记

    基本的memecached客户端命令
    5个常用的命令:
      1.-stats:当前所有memcached服务器运行的状态信息
      2.-add: 添加一个数据到服务器、
      3.-set:替换一个已经存在的数据,如果数据不存在,则和add命令相同.
      4.-get: 从服务器端提取指定的数据.
      5.-delete: 删除指定的单个数据,如果要清除所有数据,可以使用 flush_all指令

    Memcache的协议的错误部分主要是三个错误提示值提示指令:

      -ERROR -- 普通错误信息,比如指令错误之类
      -CLIENT_ERROR<错误信息>--客户端错误
      -SERVER_ERROR<错误信息>--服务器端错误

    memcache和memcached:
    对于内存缓存,比较常用的有两种memcahe和memcached扩展。而mamcached和mamcache的
    守护进程memcached同名,比较容易引起混淆,甚至提到memcached,有些人第一想到的是后台
    守护进程,这里还是有必要分析一下两者之间的区别.
    memcache是完全在PHP框架内开发的
    memcached是使用libmemcached的
    从手册上看,memcached会比memcache都几个方法,使用方式上都差不多.

    memcache是原生实现的,但是使用libmemcached的memcache只支持OO接口,而memcache则是00
    和非OO两套接口并存,以后随着memcache服务器段的改进,这个lib也必定会马上跟进的。

    而memcache却不一定能做到按时跟进

    memcached,还有非常称赞的地方,就是flag不是在操作的时候设置了.而是有一个统一的
    setOption()。memcached实现了更多的memcached协议(毕竟是基于libmemcached库的)。

    例子:

    class Test{
    	public $a = 1;
    	public $b = 2;
    	public $c = 3;
    }
    
    //创建memcache对象
    $mem = new Memcache;
    
    //连接memcache服务器
    $mem -> connect('localhost',11211);
    
    //添加一个数据
    $mem -> add('one','this is memcache test',MEMCACHE_COMPRESSED,1000);
    $mem -> add('two',array('111','222','333'),MEMCACHE_COMPRESSED,0);
    $mem -> add('three',new Test(),MEMCACHE_COMPRESSED,0);
    $mem -> add('four',100,MEMCACHE_COMPRESSED,0);
    
    //修改一个数据
    
    $mem -> set('one','this is a new test',MEMCACHE_COMPRESSED,0);
    $mem -> replace('two',array('aaa','bbb','ccc'),MEMCACHE_COMPRESSED,0);
    
    //获取一个数据
    var_dump($mem->get('one'));
    echo "<br />";
    var_dump($mem->get('two'));
    echo "<br />";
    var_dump($mem->get('three'));
    echo "<br />";
    var_dump($mem->get('four'));
    echo "<br />";
    //一次取多个
    var_dump($mem->get(array('one','two')));
    
    //删除一个数据
    $mem -> delete('one');
    $mem -> delete('two',10); //10秒内删除
    
    //清除所有数据
    $mem -> flush();
    
    //关闭memcache连接
    $mem -> close();
    

      

     

  • 相关阅读:
    学习MyBatis时报的错
    Day01
    PAT乙级01
    基于python-django框架的支付宝支付案例
    单线程与多线程的应用 --Python3
    Python异常 --Python
    有四个数字能组成多少个互不相同的三位数 --Python
    with as用法 --Python
    采用霍夫曼编码(Huffman)画出字符串各字符编码的过程并求出各字符编码 --多媒体技术与应用
    函数和代码复用 --Python
  • 原文地址:https://www.cnblogs.com/siichen/p/4746008.html
Copyright © 2011-2022 走看看