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

1、启动memcache

    [root@localhost ~]# /usr/local/memcached/bin/memcached -d -m   -u root -l 192.168.119.70 -p  -c  -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
Trying 192.168.119.70...
Connected to 192.168.119.70 (192.168.119.70).
Escape character is '^]'.

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

Ⅰ、添加修改

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

<command>:add, set或 replace

<key> :缓存的名字

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

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

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

\r\n: 表示换行回车

命令结果:

STORED :表示成功

NOT_STORED : 表示失败

a)、添加缓存

    add id     

    STORED  

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

b)、修改缓存

    replace id     

    STORED  

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

c)、设置缓存

    set id     

    STORED  

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

Ⅱ、读取

命令格式:get <key>+\r\n

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

a)、读取单个key的缓存

    get id
VALUE id END  

b)、读取多个key的缓存

Ⅲ、删除

命令格式:delete <key> \r\n

<key>:要删除的key

删除id

    delete id
DELETED

Ⅳ、清空所有缓存

命令格式:flush_all

    flush_all
OK

Ⅴ、查看缓存服务器状态

命令:stats

    stats
STAT pid //进程id
STAT uptime //总的运行时间,单位描述
STAT time //当前时间
STAT version 1.4. //版本
STAT pointer_size //服务器指针位数,一般32位操作系统是32
STAT rusage_user 0.002999 //进程的累计用户时间
STAT rusage_system 1.277805 //进程的累计系统事件
STAT curr_connections //当前连接数
STAT total_connections //服务器启动后,总连接数
STAT connection_structures //连接结构的数量
STAT cmd_get //总获取次数
STAT cmd_set //总写入次数
STAT cmd_flush //总的的清空次数
STAT get_hits //总的命中次数
STAT get_misses //获取没有命中次数
STAT delete_misses //删除没有命中次数
STAT delete_hits //删除命中次数
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 //总共获取数据量
STAT bytes_written //总共写入数据量
STAT limit_maxbytes //最大允许使用内存,单位字节
STAT accepting_conns
STAT listen_disabled_num
STAT threads //当前线程数
STAT conn_yields
STAT bytes //已用缓存空间
STAT curr_items //当前缓存的keyvalue数
STAT total_items //总共缓存的keyvalue数,包括过期删除的
STAT evictions //通过删除keyvalue,释放内存次数
END

Ⅵ、打印版本

命令:version

    version
VERSION 1.4.

Ⅶ、打印内存信息

命令:stats slabs

    stats slabs
STAT :chunk_size
STAT :chunks_per_page
STAT :total_pages
STAT :total_chunks
STAT :used_chunks
STAT :free_chunks
STAT :free_chunks_end
STAT :get_hits
STAT :cmd_set
STAT :delete_hits
STAT :incr_hits
STAT :decr_hits
STAT :cas_hits
STAT :cas_badval
STAT active_slabs
STAT total_malloced
END

3、退出telnet

    quit  

ubuntu 下telnet 操纵memcache 实现的更多相关文章

  1. ubuntu下安装php memcache扩展

    memcached 安装sudo apt-get install memcached memcached 参数说明memcached -d -m 50 -p 11211 -u root-m 指定使用多 ...

  2. ubuntu下telnet安装

    系统默认安装了telnet(client),所以只能用telnet登录别人开启telnet服务的主机,其他人是不能telnet登录本机的. 现在想要的是让别人可以使用telnet登录本机,需要安装两个 ...

  3. ubuntu下设置数据库字符集

    就linux环境下出现的数据库乱码的问题,以ubuntu为例进行的总结 ubuntu环境设置的字符集utf8,windows默认字符集是GBK,Ubuntu的默认字符集为utf-8,这使 得在用tel ...

  4. ubuntu下编译VLC

    ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...

  5. Ubuntu 开启telnet、ftp服务

    Telnet 这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲解. 1. sudo apt-get install xinetd telnetd 2. Ubuntu Linux ...

  6. 2018.4.18 Ubuntu 的telnet命令详解

    Ubuntu 的telnet命令详解 1.作用用途 Telnet 命令通常用来远程登录,Telnet 程序是基于 Telnet 协议的远程登录客户端程序.Telnet 协议是TCP/IP协议族中的一员 ...

  7. ubuntu下安装方式汇总

    apt-get 可辅助通过 apt-cache search curl | grep php 查找已支持的插件,然后通过下面apt-get下载安装,例: apt-get install php5-cu ...

  8. [Swoole] 在Ubuntu下安装、快速开始

    本文主要讲述在 Ubuntu 下编译安装 Swoole,并根据官方文档给出的demo进行了测试和搬运,包括:TCP服务器.UDP服务器.HTTP服务器.WebSocket服务器.异步客户端.定时器和协 ...

  9. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

随机推荐

  1. Largest Number——LeetCode

    Given a list of non negative integers, arrange them such that they form the largest number. For exam ...

  2. Shell遍历文件,对每行进行正则匹配

    Shell查看文件的最后5行,并对每行进行正则匹配,代码如下: #!/bin/sh pattern="HeartBeat" /home/test/log/log_20150205. ...

  3. mysql启动停止,一台服务器跑 多个mysql数据库

    一.以非特权用户运行MySQL服务器在讨论如何启动MySQL服务器之前,让我们考虑一下应该以什么用户身份运行MySQL服务器.服务器可以手动或自动启动.如果你手动启动它, 服务器以你登录Unix(Li ...

  4. WORLD OPERATS

        word文章设置无法复制 通常我们会采用设置密码的方式,规定某个文档的使用范围. 但这种方法是有一个局限,那就是可以观看文档的人未必靠谱,万一复制了文档的重要内容怎么办? 因此,不妨考虑加上禁 ...

  5. DB2 递归

    公司一直用递归来生成组织机构的树状图.看了上面的文档,应该立马就能写了. 不过前几天,有个功能涉及到下面的状况: 需要组织机构等级为1级的下面所有子机构.且按照一级组织机构分组.大家都觉得很难,哥就一 ...

  6. php中使用伪静态

    上次简单的说了下php中正则表达式的使用,这一次正则表达式可以派上用场了,学习伪静态需要能够很好的使用正则表达式,那么伪静态和真静态的区别是什么呢,我觉得应该是伪静态可以节约磁盘空间.利于SEO.访问 ...

  7. 隐藏Activity标题栏

    <span style="font-size:18px;"> </span> 要让Activity的标题栏不被显示的情况分两种: 一.不显示标题栏的不论什么 ...

  8. Environment Configuration Files

    Environment Configuration Files When a user logs in, an environment is created for that user automat ...

  9. codevs 4650 破损的键盘(链表)

    /* 之前一直不重视链表 (好吧说实话主要是看着板子都是指针就怂了T.T) 这道题比较基础 应用了链表的思想 数组模拟指针 遇到的问题就是跑着跑着光标跳到前面或者跳到后面 我们用next储存每个点下一 ...

  10. Socket服务端口长连接最多能支持多少?

    答案是无限的.视服务端的资源而不同. 以前一直认为服务端在Accept客户端连接后,会开启一个新的端口与客户端建立链路,但这是错误的.事实上,一个连路是由Server IP+server Port + ...