memcached 命令操作详解

一.存储命令

存储命令的格式:

 <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\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。

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

memecached还有其他命令 ,这里只是平时我们工作中经常用到的一些,以此文章记录备用。

 
 

memcached 命令操作详解的更多相关文章

  1. [转载]memcached 命令操作详解

    转载:http://www.cnblogs.com/azheng007/p/3159345.html 一.存储命令 存储命令的格式: <command name> <key> ...

  2. nosql Redis命令操作详解

    Redis命令操作详解 一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符 *.?.[] (2)randomkey:返回随机key (3)type key: ...

  3. 第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务

    1. set类型的命令操作: (1)sadd命令:向key指定的set集合添加成员 ##sadd命令:是设置set集合类型的数据,sadd  <key> <mumber> [& ...

  4. 第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解

    一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "ha ...

  5. Nmap 命令操作详解

    首先在安装nmap 稳定版 https://nmap.org/download.html 选择安装目录 通过cmd  去使用也可以在 安装目录中找到 进行可视化操作 以下是nmap 命令 -sT TC ...

  6. Redis命令操作详解

    一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符  *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 ...

  7. Linux 下 SVN 命令操作详解

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domain   ...

  8. Linux常用命令操作详解

    https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ 一:Linux下tomcat服务的启动.关闭与错误跟踪 使用PuTTy远程连接到服务器以后,通常通过 ...

  9. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解 mysql命令参数详解 -u 用户名 -p 用户密码 -h 服务器ip地址 -D 连接的数据库 -N 不输出列信息 -B 使 ...

随机推荐

  1. Wowza流媒体Live直播和VOD点播配置实战

    Wowza是当今可以说最流行的流媒体服务器之一,近来因为需要搭建相应的服务器,但又不想用camera等作真实的直播,所以想办法用媒体文件转换成直播流再提供给Wowza进行直播.这里把该设置步骤以及设计 ...

  2. SQL点滴34—SQL中的大小写

    原文:SQL点滴34-SQL中的大小写 默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from ...

  3. IOC 容器初始化

    WebApi 插件式构建方案:IOC 容器初始化 一般来说,一个现代化的网站加载流程是这样的:程序集加载后,我们会初始化 IOC 容器,以便于接下来解析对象用. 我们插件式的开发,这一步更为重要.这是 ...

  4. Java 集合之LinkedList源码分析

    1.介绍 链表是数据结构中一种很重要的数据结构,一个链表含有一个或者多个节点,每个节点处理保存自己的信息之外还需要保存上一个节点以及下一个节点的指针信息.通过链表的表头就可以访问整个链表的信息.Jav ...

  5. NCache实现Oracle数据与分布式缓存数据同步的3个步骤

    多层次结构的应用程序是目前发展的趋势,这种程序都需要庞大的数据库支持.而数据传输的能力直接影响程序性能,成为程序可扩展性的瓶颈.因此很多开发者开始在程序中使用内存分布式缓存来提高程序性能. 同时,内存 ...

  6. 附加没有LDF的数据库文件

    原文:附加没有LDF的数据库文件 如果你只下载了数据文件,没有LDF文件,那么附加的时候选择使用ATTACH_REBUILD_LOG. 命令类似: USE [master] GO CREATE DAT ...

  7. nagios 安装和配置(含有nrpe结束)所有 (两)

    二.ndoutils 安装: 1.mysql安装(若未安装) #apt-get install mysql-servermysql-client 2.DBI安装(若未安装) #cd /usr/loca ...

  8. Function.prototype.toString

    语法:fn.toString(indentation) 改方法返回当前函数源代码的字符串,而且还可对此字符串进行操作,比如: function num(){ }; var str = num.toSt ...

  9. dbcp的配置

    tomcat的 配置,进入conf->context.xml <Resource name="mysql"     auth="Container" ...

  10. Asp.Net Web Api 接口,拥抱支持跨域访问。

    如何让你的 Asp.Net Web Api 接口,拥抱支持跨域访问. 由于 web api 项目通常是被做成了一个独立站点,来提供数据,在做web api 项目的时候,不免前端会遇到跨域访问接口的问题 ...