zoukankan      html  css  js  c++  java
  • [转载]memcached 命令操作详解

    转载:http://www.cnblogs.com/azheng007/p/3159345.html

    一.存储命令

    存储命令的格式:

     <command name> <key> <flags> <exptime> <bytes>
    
    <data block>

    参数说明:

    <command name> 操作命令:set/add/replace
    <key> 缓存的键值
    <flags> 客户机使用它存储关于键值对的额外信息
    <exptime> 缓存过期时间 单位为秒 0 表示永远存储
    <bytes> 缓存值的字节数
    <data block> 数据块

    1.添加值命令

    (1) 无论如何都添加或更新的set 命令 (值不存在则添加 存在则更新)  set 设置后可以用get命令获取值 也可以使用delete命令删除该值

    [root@zhz jiehun]# telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    set test_key 0 0 3
    100
    STORED
    get test_key
    VALUE test_key 0 3
    100
    END
    delete test_key
    DELETED
    get test_key
    END

    (2)只有数据不存在时添加值的add命令

    [root@zhz jiehun]# telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    add zhang 0 0 1 //第一次添加  成功
    q 
    STORED
    add zhang 0 0 1 //第二次添加 失败
    q
    NOT_STORED

    (3)只有数据存在时替换的replace命令

    [root@zhz jiehun]# telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    replace zhang_t 0 0 2    //replace 不存在的元素 失败
    22
    NOT_STORED
    add zhang_t 0 0 2
    12
    STORED
    get zhang_t
    VALUE zhang_t 0 2
    12
    END
    replace zhang_t 0 0 3 //replace 存在的值成功
    200
    STORED
    get zhang_t //值被替换
    VALUE zhang_t 0 3
    200
    END

    2.删除命令   delete

    get zhang_t
    VALUE zhang_t 0 3
    200
    END
    delete zhang_t
    DELETED
    get zhang_t
    END

    二 读取命令

    1.get 命令 获取一个键或多个键的值 多个键以空格分开

    get zhang_t zhang
    VALUE zhang 0 1
    q
    END
    set zhang_t 0 0 3
    100
    STORED
    get zhang_t zhang
    VALUE zhang_t 0 3
    100
    VALUE zhang 0 1
    q
    END

    2 .gets 命令比get返回的值多一个数字 用来判断数据是否发生过改变

    gets zhang_t zhang
    VALUE zhang_t 0 4 185
    1000
    VALUE zhang 0 1 181
    q
    END
    set zhang_t 0 29 4
    1000
    STORED
    gets zhang_t zhang
    VALUE zhang_t 0 4 186
    1000
    VALUE zhang 0 1 181
    q
    END

    3. cas 的意思是 check and set 的意思,只有当最后一个参数鹤gets获取的那个用来判断数据发生改变的那个值相同时才会存储成功,否则返回 exists

    gets zhang
    VALUE zhang 0 3 188
    dff
    END
    cas zhang 0 0 3 189
    kjf
    EXISTS
    cas zhang 0 0 3 188
    kjf
    STORED
    gets zhang 
    VALUE zhang 0 3 189
    kjf
    END

    4. 自曾(incr) 自减(decr)命令

    set age 0 0 2
    10
    STORED
    get age
    VALUE age 0 2
    10
    END
    incr age 2
    12
    incr age 2
    14
    get age
    VALUE age 0 2
    14
    END
    decr age 1
    13
    get age
    VALUE age 0 2
    13
    END

    三 状态命令

    1.stats 显示memcachd状态

    stats
    STAT pid 1532 //进程id
    STAT uptime 348167 //服务运行秒数
    STAT time 1372215144 //当前unix时间戳
    STAT version 1.4.14 //服务器版本
    STAT libevent 2.0.10-stable 
    STAT pointer_size 32 //操作系统字大小
    STAT rusage_user 3.997392 //进程累计用户时间
    STAT rusage_system 2.258656 //进程累计系统时间
    STAT curr_connections 5 //当前打开连接数
    STAT total_connections 265 //链接总数
    STAT connection_structures 7 //服务器分配的链接结构数
    STAT reserved_fds 20 //
    STAT cmd_get 1911 //执行get命令次数
    STAT cmd_set 195  //执行set命令次数
    STAT cmd_flush 3 //执行flush命令次数
    STAT cmd_touch 0
    STAT get_hits 1708 //get命中次数
    STAT get_misses 203 //get未命中次数
    STAT delete_misses 11 //delete 未命中次数
    STAT delete_hits 14 //delete命中次数
    STAT incr_misses 0  //incr 自增命令 未命中次数
    STAT incr_hits 0    //incr 命中次数
    STAT decr_misses 0  //decr  自减 未命中次数
    STAT decr_hits 0    //decr 命中次数
    STAT cas_misses 0   //cas 未命中次数
    STAT cas_hits 2     //case  命中次数
    STAT cas_badval 1   //使用擦拭次数
    STAT touch_hits 0
    STAT touch_misses 0
    STAT auth_cmds 0
    STAT auth_errors 0
    STAT bytes_read 164108   //读取字节数
    STAT bytes_written 1520916 //写入字节书
    STAT limit_maxbytes 67108864 //分配的内存数
    STAT accepting_conns 1 //目前接受的连接数
    STAT listen_disabled_num 0
    STAT threads 4 //线程数
    STAT conn_yields 0
    STAT hash_power_level 16
    STAT hash_bytes 262144
    STAT hash_is_expanding 0
    STAT expired_unfetched 4
    STAT evicted_unfetched 0
    STAT bytes 23995  //存储字节数
    STAT curr_items 31 //item个数
    STAT total_items 189 //item总数
    STAT evictions 0 //为获取空间删除的item个数
    STAT reclaimed 17
    END

    2.flush_all 清空所有项目

    flush_all
    OK

    3.后续追加append和prepend前面插入命令

    get age
    VALUE age 0 2
    13
    END
    append age 0 3
    ERROR
    append age 0 0 6
    111111
    STORED
    get age
    VALUE age 0 8
    13111111
    END
    prepend age 0 0 6
    111111
    STORED
    get age
    VALUE age 0 14
    11111113111111
    END

    该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK ” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。

    flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。

  • 相关阅读:
    中国石油昆仑加油卡
    157 01 Android 零基础入门 03 Java常用工具类01 Java异常 01 异常介绍 02 异常内容简介
    156 01 Android 零基础入门 03 Java常用工具类01 Java异常 01 异常介绍 01 Java常用工具类简介
    155 01 Android 零基础入门 02 Java面向对象 07 Java多态 07 多态知识总结 01 多态总结
    154 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 05 匿名内部类
    153 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 04 方法内部类
    152 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 03 静态内部类
    151 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类 02 成员内部类
    150 01 Android 零基础入门 02 Java面向对象 07 Java多态 06 内部类概述 01 内部类概述
    149 01 Android 零基础入门 02 Java面向对象 07 Java多态 05 接口(重点)07 接口的继承
  • 原文地址:https://www.cnblogs.com/diege/p/3160764.html
Copyright © 2011-2022 走看看