Memcached各个存储命令的语法格式都类似,且有相同的参数和参数含义,先将可能出现的各个参数的意义说明如下:

key:    键值 key-value 结构中的 key,用于查找缓存值。

flags:   可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。

exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)

bytes:  在缓存中存储的字节数

noreply(可选): 该参数告知服务器不需要返回数据

value:   存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

unique_cas_token:通过 gets 命令获取的一个唯一的64位值。

1. Memcached set命令:

Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。

如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

语法:

set key flags exptime bytes [noreply]

value

输出信息说明(若设置了noreply参数则没有输出):

STORED: 保存成功后输出。

ERROR:  在保持失败后输出。

2. Memcached add命令:

Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。

如果 add 的 key 已经存在,则不会更新数据,之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。

语法:

add key flags exptime bytes [noreply]

value

输出信息说明(若设置了noreply参数则没有输出):

STORED: 保存成功后输出。

NOT_STORED:在保存失败后输出。

注:add命令和set命令的区别在于,当键名已存在时,set会更新键名对应的数据,而add则不会跟新数据。

3. Memcached replace命令:

Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。

如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。

语法:

replace key flags exptime bytes [noreply]

value

输出信息说明:

STORED:保存成功后输出。

NOT_STORED:执行替换失败后输出。

注:replace命令和set的更新功能一样。

4. Memcached append命令:

Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据。

语法:

append key flags exptime bytes [noreply]

value

输出信息说明:

STORED:保存成功后输出。

NOT_STORED:该键在 Memcached 上不存在。

CLIENT_ERROR:执行错误。

5. Memcached prepend命令:

Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据。

语法:

prepend key flags exptime bytes [noreply]

value

输出信息说明:

STORED:保存成功后输出。

NOT_STORED:该键在 Memcached 上不存在。

CLIENT_ERROR:执行错误。

6. Memcached CAS命令:

Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个"检查并设置"的操作。它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。

语法:

cas key flags exptime bytes unique_cas_token [noreply]

value

输出信息说明:

STORED:保存成功后输出。

ERROR:保存出错或语法错误。

EXISTS:在最后一次取值后另外一个用户也在更新该数据。

NOT_FOUND:Memcached 服务上不存在该键值。

注:要在 Memcached 上使用 CAS 命令,你需要从 Memcached 服务商通过 gets 命令获取令牌(token)。

使用示例:

Memcached存储命令的更多相关文章

  1. Memcached存储命令 - set

    Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用. set 命 ...

  2. Memcached存储命令 - add

    Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果 add 的 key 已经存在,则不会更新数据,之前的值将仍然保持相同,并且您将获得响应 NOT_S ...

  3. Memcached存储命令 - replace

    Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值). 如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED. replace 命令的基 ...

  4. memcached学习笔记——存储命令源码分析上篇

    原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...

  5. memcached学习笔记——存储命令源码分析下篇

    上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...

  6. Memcached命令-存储命令-查找命令-清理命令

    Memcached set 存储命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中. 如果set的key已经存在,该命令可以更新该key所对应的原来的数 ...

  7. memcached 常用命令及使用说明

    1.启动Memcache 常用参数 -p <num> 设置TCP端口号(默认设置为: ) -U <num> UDP监听端口(默认: , 时关闭) -l <ip_addr& ...

  8. Memcached常用命令及使用说明(转)

    一.存储命令 存储命令的格式: 1 2 <command name> <key> <flags> <exptime> <bytes> < ...

  9. Memcached常用命令及使用说明

    一.存储命令 存储命令的格式: 1 2 <command name> <key> <flags> <exptime> <bytes> < ...

随机推荐

  1. Eclipse rap 富客户端开发总结(5): RAP国际化之路

    Eclipse RCP 中的plugin.xml国际化实现 1.  在工程的根目录下面建立一个plugin.properties资源文件:在此资源文件中写入需要国际化的内容(键/值对),举例如下: h ...

  2. linux fork两次避免僵尸进程的程序(简单)

    #include<stdio.h> #include<unistd.h> int main() { pid_t pid,pid1; int status; ) { printf ...

  3. 安装wampserve之前需要安装vc++2012.

    本人是64位系统下载了wampserver3.0.6之后安装好,启动报错缺少msvcr110.dll. 于是从网上下载了msvcr110.dll放到了windows的syswow64文件夹下,甚至还重 ...

  4. AJAX验证码检查

    前言 对于验证码检查我们并不会陌生,我们在学习Session的时候已经使用过了验证码检查了.详细可参考:http://blog.csdn.net/hon_3y/article/details/5479 ...

  5. Servlet第四篇【request对象常用方法、应用】

    什么是HttpServletRequest HttpServletRequest**对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,**HTTP请求头中的所有信息都封装在这个对象中,开发人 ...

  6. JVM 运行时数据区总结 栈 堆 堆大小配置总结

    1. 程序计数器 线程私有 当前线程所执行的字节码的行号指示器 2. 虚拟机栈 线程私有 存:Java方法(局部变量表(基本数据类型).操作数栈.动态链栈.方法出口) StackOverflowErr ...

  7. StringBuffer和String的相互转换

    1:用法: * A:String -- >StringBuffer * a:通过构造方法 * b:通过append()方法 * B:StringBuffer --> String * a: ...

  8. Markdown 编写规范

    说明及目的 作为一个在博客园混迹了俩三年的人,一直在这里看别人的博客,现在准备开始写自己的博客,目的呢,就是一下几点吧: 项目过程中的历史经验教训积累记载,吃一堑长一智,不想在同一个坑掉进去好几次 学 ...

  9. QCW切割 --铁片

    1.QCW切割旋转轴限位部件  --刘锦峰协助        :铁片              功率85%   最大功率100  最小功率50  脉宽0.1ms  调整焦点-0.5左右

  10. Android Studio 导入应用时报错 Error:java.lang.RuntimeException: Some file crunching failed, see logs for details

    在app文件夹的build.gradle里加上 android { ...... aaptOptions.cruncherEnabled = false aaptOptions.useNewCrunc ...