https://github.com/quguolin/memcache


一:Error

ERROR\r\n

客户端发送了一个不存在的命令

CLIENT_ERROR\r\n

客户端发送了一个不符合协议的命令

SERVER_ERROR\r\n

服务的错误

二:Storage commands

1.<command name> <key> <flags> <exptime> <bytes> [noreply]\r\n
2.cas <key> <flags> <exptime> <bytes> <cas unique> [noreply]\r\n

command name is "set", "add", "replace", "append" or "prepend"

set

用于将 value(数据值) 存储在指定的 key(键) 中
如果set的key已经存在,该命令可以更新该key所对应的原来的数据
  • STORED:保存成功后输出
  • ERROR:在保存失败后输出

add

用于将 value(数据值) 存储在指定的 key(键) 中
如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且获得响应 NOT_STORED
  • STORED:保存成功后输出
  • NOT_STORED :在保存失败后输出

replace

用于向已存在 key(键) 的 value(数据值) 后面追加数据
如果 key 不存在,则替换失败,并且获得响应 NOT_STORED
  • STORED:保存成功后输出
  • NOT_STORED :在保存失败后输出

append

用于向已存在 key(键) 的 value(数据值) 后面追加数据
STORED:保存成功后输出
  • NOT_STORED:该键在 Memcached 上不存在
  • CLIENT_ERROR:执行错误

prepend

用于向已存在 key(键) 的 value(数据值) 前面追加数据
  • STORED:保存成功后输出
  • NOT_STORED:该键在 Memcached 上不存在
  • CLIENT_ERROR:执行错误

cas

命令用于执行一个"检查并设置"的操作它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。
检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值
首先需要从 Memcached 服务商通过 gets 命令获取令牌(token),gets 返回64位的整型值非常像名称/值对的 "版本" 标识符
  • STORED:保存成功后输出
  • ERROR:保存出错或语法错误
  • EXISTS:在最后一次取值后另外一个用户也在更新该数据
  • NOT_FOUND:Memcached 服务上不存在该键值

memcache 协议 && Golang实现的更多相关文章

  1. Tokyo Tyrant(TTServer)系列(三)-Memcache协议

    通过Memcache协议使用ttserver  通过telnet 127.0.0.1 9032 telnet连接到到启动的实例. 下面我们通过add添加key为key1和value为value1的数据 ...

  2. Memcache的使用和协议分析详解

    Memcache的使用和协议分析详解 作者:heiyeluren博客:http://blog.csdn.NET/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linu ...

  3. [转]Memcache的使用和协议分析详解

    Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. 它可以应 ...

  4. Memcache教程 Memcache零基础教程

    Memcache是什么 Memcache是danga.com的一个项目,来分担数据库的压力. 它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个Hash ...

  5. Memcache基础教程

    Memcache是什么 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力. 它可以应 ...

  6. php的memcache和memcached扩展区别

    老生长谈的问题了.我这里就整理一下. memcache的文档在:http://pecl.php.net/package/memcache memcached的文档在:http://pecl.php.n ...

  7. memcache的内存回收机制

    memcache不会释放内存,而是重新利用. 在缓存的清除方面,memcache是不释放已分配内存.当已分配的内存所在的记录失效后,这段以往的内存空间,memcache只会重复利用. memcache ...

  8. PHP + Memcache 实现多服务器session共享

    很多时候一个完整的系统可能运行在多个服务器上,如果这多个服务器之间需要共享session的话,那么php默认的files保存session的方式就无能为力了.这时我们可以考虑使用memcache 来接 ...

  9. C扩展 从共享内存shm到memcache外部内存

    引言 - ipc - shm 共享内存 本文会通过案例了解ipc 的共享内存机制使用, 后面会讲解C 如何使用外部内存服务memcached. 好先开始了解 linux 共享内存机制. 推荐先参看下面 ...

随机推荐

  1. Hdu1015&&寒假作业第二组I题

    题意是A-Z对应1-26,然后给个目标数字和字符串,看看字符串里的某5个字符的组合能不能使v - w^2 + x^3 - y^4 + z^5 = target等式成立,其实多写几个循环也可以达到目的, ...

  2. Hive进阶_开发Hive的自定义函数

    Hive中的自定义函数简介 (1) 在类中创建自定义函数.自定义UDF需要继承'org.apache.hadoop.hive.ql.exec.UDF',实现evaluate函数,evaluate函数支 ...

  3. DotNetAnywhere

    DotNetAnywhere:可供选择的 .NET 运行时   原文 : DotNetAnywhere: An Alternative .NET Runtime作者 : Matt Warren译者 : ...

  4. python HTTP 状态码

    404 Not Found 在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码. 400 Bad Request 如果你调用了一个没有默 ...

  5. 执行ng build --prod --aot命令报错

    D:\git\**\src\main\iui>ng build --prod --aotHash: 257ab60feca43633b6f7Time: 25358mschunk {0} poly ...

  6. [Java][Web] Servlet中转发和重定向比较

    Servlet中页面跳转的两种方式 请求转发 使用requestDispatcher对象 request.getRequestDispatcher("path").forward( ...

  7. [20190625]记录npm的一些常用命令

    1. 安装依赖包 npm install -g packageName //全局安装npm install packageName --save //安装在项目下并写入package.json文件中n ...

  8. MyBatis关联查询、多条件查询

    MyBatis关联查询.多条件查询 1.一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1.数据库表的设计 班级表: 教师表: 2.实体类的设计 班级表: public class Cla ...

  9. ImageLoader常用方法注释

    ImageLoader中的常用方法及相关作用注释 ImageLoader 的ImageLoaderConfiguration config 配置 ImageLoaderConfiguration co ...

  10. (转)VC得到可用的串口列表

    //枚举串口 //参数:bEnablePort,哪个串口有效,bEnablePort[0]表示COM1,bEnablePort[n-1]表示COMn //返回值:有效的串口个数 int EnumAll ...