zoukankan      html  css  js  c++  java
  • ubuntu 下telnet 操纵memcache 实现

    memcache作为一款优秀的进程外缓存,常常被运用于高并发系统架构中。这里主要谈谈怎么通过telnet工具,查看memcache运行状况并对其key进行管理维护。假设memcache安装目录:/usr/local/memcached

             
    1、启动memcache

        [root@localhost ~]# /usr/local/memcached/bin/memcached -d -m 512  -u root -l 192.168.119.70 -p 12000 -c 512 -P /usr/local/memcached/memcached.pid  

    启动参数详解
     -d:以守护进程方式启动。如果该参数没有指定,当按ctrl+c命令结束,memcache自动关闭
     -m:分配给memcache使用的最大内存数 单位是m,默认是64m
     -u: 指定运行memcache的用户
     -l: 指定监听的ip地址
     -p: 指定监听的tcp端口号,可以通过-u指定udp端口.默认是11211
     -c: 最大并发连接数
     -P: 报错进程id的文件
     memcache 启动之后,我们就可以通过telnet连接memcache,对其进行简单操作管理。

    2、telnet连接memcache

        [root@localhost ~]# telnet 192.168.119.70 12000   
        Trying 192.168.119.70...  
        Connected to 192.168.119.70 (192.168.119.70).  
        Escape character is '^]'.   

     连接成功之后,即可对memcache进行操作管理了,常用的命令有:

    Ⅰ、添加修改

            命令格式:<command> <key> <flags> <exptime> <bytes> <data block>

           <command>:add, set或 replace

           <key> :缓存的名字

           <flag>:16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。

          <exptime>:过去时间,0 表示永远不过期,如果非零,表示unix时间或距此秒数

           <bytes>:存储数据的字节数

            : 表示换行回车

            命令结果:

                    STORED :表示成功

                    NOT_STORED : 表示失败 

    a)、添加缓存

        add id 1 0 4  
        1234  
        STORED  

             如果key已经存在,则会添加失败。

    b)、修改缓存

        replace id 1 0 4  
        3456  
        STORED  

         key存在时,成功;不存在时,失败。

    c)、设置缓存

        set id 1 0 4  
        2345  
        STORED  

        key不存在时,添加【add】;已存在时,替换【replace】。

     

    Ⅱ、读取

           命令格式:get <key>+

           <key>+:表示一个或多个key,多个key时,用空格隔开

    a)、读取单个key的缓存

        get id  
        VALUE id 1 4  
        1234  
        END   

     b)、读取多个key的缓存

    get id name  
    VALUE id 1 4  
    3456  
    VALUE name 1 3  
    jim  
    END

    Ⅲ、删除

    命令格式:delete <key>

    <key>:要删除的key

    删除id

        delete id   
        DELETED  

    Ⅳ、清空所有缓存

    命令格式:flush_all

        flush_all  
        OK  

    Ⅴ、查看缓存服务器状态

    命令:stats

        stats  
        STAT pid 2711     //进程id  
        STAT uptime 2453  //总的运行时间,单位描述  
        STAT time 1344856333  //当前时间  
        STAT version 1.4.0 //版本  
        STAT pointer_size 32    //服务器指针位数,一般32位操作系统是32  
        STAT rusage_user 0.002999  //进程的累计用户时间   
        STAT rusage_system 1.277805  //进程的累计系统事件  
        STAT curr_connections 1  //当前连接数  
        STAT total_connections 11  //服务器启动后,总连接数  
        STAT connection_structures 11  //连接结构的数量  
        STAT cmd_get 17   //总获取次数  
        STAT cmd_set 1  //总写入次数  
        STAT cmd_flush 1   //总的的清空次数  
        STAT get_hits 1  //总的命中次数  
        STAT get_misses 7   //获取没有命中次数  
        STAT delete_misses //删除没有命中次数  
        STAT delete_hits 4   //删除命中次数  
        STAT incr_misses //递增操作没有命中次数   
        STAT incr_hits //递增操作命中次数  
        STAT decr_misses //递减操作没有命中的次数  
        STAT decr_hits //递减操作命中的次数  
        STAT cas_misses //cas设置没有命中次数  
        STAT cas_hits //cas命中次数  
        STAT cas_badval //cas操作找到key,但版本过期,没有设置成功  
        STAT bytes_read 455    //总共获取数据量  
        STAT bytes_written 1175  //总共写入数据量  
        STAT limit_maxbytes 1048576  //最大允许使用内存,单位字节  
        STAT accepting_conns 1      
        STAT listen_disabled_num 0  
        STAT threads 5   //当前线程数  
        STAT conn_yields 0  
        STAT bytes 56      //已用缓存空间  
        STAT curr_items 1  //当前缓存的keyvalue数  
        STAT total_items 7 //总共缓存的keyvalue数,包括过期删除的  
        STAT evictions //通过删除keyvalue,释放内存次数  
        END  

    Ⅵ、打印版本

    命令:version

        version  
        VERSION 1.4.0  

    Ⅶ、打印内存信息

    命令:stats slabs

        stats slabs  
        STAT 1:chunk_size 80  
        STAT 1:chunks_per_page 13107  
        STAT 1:total_pages 1  
        STAT 1:total_chunks 13107  
        STAT 1:used_chunks 1  
        STAT 1:free_chunks 1  
        STAT 1:free_chunks_end 13105  
        STAT 1:get_hits 10  
        STAT 1:cmd_set 10  
        STAT 1:delete_hits 4  
        STAT 1:incr_hits 0  
        STAT 1:decr_hits 0  
        STAT 1:cas_hits 0  
        STAT 1:cas_badval 0  
        STAT active_slabs 1  
        STAT total_malloced 1048560  
        END  

    3、退出telnet 

        quit  
  • 相关阅读:
    项目总结60:Springboot集成swagger2
    ELK学习01:ELK安装
    Java深入学习16:NIO详解2-Selector
    Java深入学习15:NIO详解1-基本概念、Buffer、Channel
    Java深入学习14:Java线程池
    Java深入学习13:synchronized在静态方法和非静态方法下的同步
    Java深入学习12:线程按目标顺序执行以及Lock锁和Condiiton接口
    项目总结59:Redis分布式锁解决电商订单库存并发问题
    Java深入学习11:Lock锁详解
    Java深入学习09:URL类使用和判断图片资源是否有效
  • 原文地址:https://www.cnblogs.com/timelesszhuang/p/3951963.html
Copyright © 2011-2022 走看看