• Memcached常用命令及使用说明——telnet


    摘自:http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html

    链接memc

    telnet 127.0.0.1 11211

    退出命令:ctrl+] 并且 quit

    一、存储命令

    存储命令的格式:

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

    参数说明如下:

    <command name> set/add/replace
    <key> 查找关键字
    <flags> 客户机使用它存储关于键值对的额外信息
    <exptime> 该数据的存活时间,0表示永远
    <bytes> 存储字节数
    <data block> 存储的数据块(可直接理解为key-value结构中的value)

    1、添加

    (1)、无论如何都存储的set

    set username 0 0 8
    12345678
    STORED
    get username
    VALUE username 0 8
    12345678
    END

    这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

    可以通过“get 键名”的方式查看添加进去的记录:

    set_get

    如你所知,我们也可以通过delete命令删除掉,然后重新添加。

    delete

    (2)、只有数据不存在时进行添加的add

    add

    (3)、只有数据存在时进行替换的replace

    replace

     

    2、删除

    delete

    可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。

    二、读取命令

    1、get

    get命令的key可以表示一个或者多个键,键之间以空格隔开

    get 1name
    VALUE 1name 0 16
    hello%20xxliqiu1
    END

    2、gets

    gets

    可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。

    3、cas

    cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

    cas

    三、状态命令

    1、stats

    stats

    2、stats items

    stats items
    STAT items:1:number 2
    STAT items:1:age 2815
    STAT items:1:evicted 0
    STAT items:1:evicted_nonzero 0
    STAT items:1:evicted_time 0
    STAT items:1:outofmemory 0
    STAT items:1:tailrepairs 0
    STAT items:1:reclaimed 0
    END

    执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。

    3、stats cachedump slab_id limit_num

    我们执行stats cachedump 1 0 命令效果如下:

    stats cachedump 1 100
    ITEM 1name [16 b; 1372939610 s]
    ITEM 2name [16 b; 1372939610 s]
    ITEM 3name [16 b; 1372939610 s]
    ITEM 4name [16 b; 1372939610 s]
    ITEM 5name [16 b; 1372939610 s]
    ITEM 6name [16 b; 1372939610 s]
    ITEM 7name [16 b; 1372939610 s]
    ITEM 8name [16 b; 1372939610 s]
    ITEM 9name [16 b; 1372939610 s]
    ITEM 10name [17 b; 1372939610 s]
    ITEM zzliqiu [15 b; 1372937978 s]
    ITEM yyliqiu [15 b; 1372937978 s]
    END

    这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。

    statscachedump1
    通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。

    4、其他stats命令

    如stats slabs,stats sizes,stats reset等等使用也比较常见。

    statsother

    四、其他常见命令

    1、append

    append

    在现有的缓存数据添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。

    2、prepend

    和append非常类似,但它的作用是在现有的缓存数据添加缓存数据。

    prepend

    3、flush_all

    flush_all

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

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

  • 相关阅读:
    最长公共子序列和最长公共连续子序列 andrew的日志 网易博客
    Best Computer Science Interview Books JiansNet
    分享:Mitmproxy 0.9 发布,支持 SSL 的 HTTP 代理
    创业环境差,被迫“走西口”:一位台湾码农的心路历程
    STLSupport GDB Wiki
    utils C/C++的常用工具类
    题目36 ACM在线评测系统
    DRAMA QUEEN_洪晃在ilook的BLOG
    Codeblocks调试STL——gdb with python support Wanglikai91 博客园
    python urlencode 编码
  • 原文地址:https://www.cnblogs.com/liqiu/p/2988808.html
Copyright © 2020-2023  润新知