签到成功

知道了

CNDBA社区CNDBA社区

使用Telnet 管理Memcached

2016-09-06 00:38 2778 0 原创 Memcached
作者: dave


http://www.cndba.cn/dave/article/194

可以通过程序直接操作memcached,也可以使用telnet来操作,我们这里方便使用telnet来演示常见操作。
如果没有安装telnet,就先安装:http://www.cndba.cn/dave/article/194

[root@dave yum.repos.d]# yum install telnet[root@dave yum.repos.d]# telnet 192.168.1.14 22222
Trying 192.168.1.14...
Connected to 192.168.1.14.
Escape character is '^]'.




1 打印打印版本

命令:version

version
VERSION 1.4.9



2 添加修改

命令格式:<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”),当用户希望存储空数据时,<bytes>可以为0
/r/n: 表示换行回车
命令结果:
TORED :表示成功
NOT_STORED : 表示失败

或者:
cas <key> <flags> <exptime> <bytes> <cas unique> [noreply]/r/n  

Cas:check and set操作,存储缓存,前提是在check后没有其它人修改过数据,用于多客户端同时设置相同的KEY时的原子操作。
<cas unique>:unique 64-bit value of an existing entry,cas操作的时候回传的值,用于服务器端判断缓存是否改变。
"noreply":服务器不响应处理结果。




2.1 添加缓存

add id 1 0 4  
1234  
STORED



这里我们添加了一个id,flag 为1,永不过期,存储的值是1234.

如果key已经存在,则会添加失败。 我们在加一次:http://www.cndba.cn/dave/article/194

add id 1 0 4
1234
NOT_STORED



这时就返回NOT_STORED了。

2.2 修改缓存

前面我们添加了一个key:id。 这里我们替换id对应的值:

http://www.cndba.cn/dave/article/194

replace id 1 0 4  
2345
STORED



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

2.3 设置缓存
--设置id 这个key的值:

http://www.cndba.cn/dave/article/194

set id 1 0 4  
3456  
STORED



--这是name这个key的值:http://www.cndba.cn/dave/article/194http://www.cndba.cn/dave/article/194

set name  1 0 4
dave
STORED



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

2.4 尾部添加
--先设置work 这个key,值是is:

set work 1 0 2
is
STORED



--在work这个key的后面追加4个字符: DBA

append work 1 0 4
 DBA
STORED



--查看追加后的结果:

get work
VALUE work 1 6
is DBA
END




2.5 头部添加

--在work 这个key的前面追加:Dave :

prepend work 1 0 5
Dave
STORED


--查看:http://www.cndba.cn/dave/article/194

get work
VALUE work 1 11
Dave is DBA
END




2.6 incr/decr
如果缓存数据中存储的是数字形式的字符串,则可以使用 incr/decr 对数据进行递增和递减操作,服务器响应操作过的结果。操作后的值不会为负数。

格式: incr/decr key number/r/n

add key 0 0 2  
10  
STORED  
incr key 1    // 递增 1  
11  
decr key 2    // 递减 2  
9  
add key1 0 0 2  
aa  
STORED  
incr key1 1   // 对非数字的缓存操作会返回错误  
CLIENT_ERROR cannot increment or decrement non-numeric value


3 读取
命令格式:get <key>+/r/n
<key>+:表示一个或多个key,多个key时,用空格隔开

3.1 读取单个key的缓存

--获取id这个key的值:

get id
VALUE id 1 4
3456
END




3.2 读取多个key的缓存

--获取id 和name 这2个key的值:

get id name
VALUE id 1 4
3456
VALUE name 1 4
dave
END




4 删除
命令格式:delete <key> /r/n
<key>:要删除的key

--删除id 这个key的值:
delete id
DELETED

5 清空所有缓存
命令格式:flush_all

flush_all
OK

 
6 查看缓存服务器状态
命令:stats

http://www.cndba.cn/dave/article/194
http://www.cndba.cn/dave/article/194

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  
stats items
STAT items:1:number 1
STAT items:1:age 8297
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 1
STAT items:1:expired_unfetched 0
STAT items:1:evicted_unfetched 0
END
stats sizes
STAT 96 1
END

7 打印内存信息
命令:stats slabs

stats slabs
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_pages 1
STAT 1:total_chunks 10922
STAT 1:used_chunks 1
STAT 1:free_chunks 1
STAT 1:free_chunks_end 10920
STAT 1:mem_requested 73
STAT 1:get_hits 3
STAT 1:cmd_set 8
STAT 1:delete_hits 2
STAT 1:incr_hits 0
STAT 1:decr_hits 0
STAT 1:cas_hits 0
STAT 1:cas_badval 0
STAT 1:touch_hits 0
STAT active_slabs 1
STAT total_malloced 1048512
END

8 退出telnet
quit  




版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2261
    原创
  • 3
    翻译
  • 578
    转载
  • 191
    评论
  • 访问:7970721次
  • 积分:4346
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ