
# Memcached支持和禁用的命令（已停售）
![](https://support.huaweicloud.com/productdesc-dcs/public_sys-resources/note_3.0-zh-cn.png)
DCS Memcached已停售，建议使用Redis实例。
Memcached引擎支持基于TCP（Memcached Text Protocol）的文本协议和二进制（Memcached Binary Protocol）协议，任何兼容Memcached协议的客户端都可以访问DCS。
#### 文本协议
Memcached文本协议通过ASCII文本传递命令，便于用户编写客户端和调测问题，甚至可以直接使用Telnet连接Memcached实例。
Memcached文本协议与二进制协议相比，兼容更多的开源类型客户端，但文本协议不支持认证操作。
![](https://support.huaweicloud.com/productdesc-dcs/public_sys-resources/note_3.0-zh-cn.png)
Memcached实例需要开启免密访问模式后，才能通过文本协议连接。此时Memcached实例的访问将不再受用户名、密码的认证保护。同一VPC内符合安全组规则的任何Memcached客户端均可连接访问Memcached实例，存在安全风险，请谨慎使用。
DCS Memcached实例对文本协议命令的支持情况如[表1]所示。
 表1Memcached实例文本协议支持的命令说明 
| **命令**         | **功能**                                                                                                       | **是否支持** |
|:---|:---|:---|
| add            | 新增数据                                                                                                         | 是        |
| set            | 设置数据，主要包括新增或者修改数据                                                                                            | 是        |
| replace        | 更新数据                                                                                                         | 是        |
| append         | 向指定key的value末尾追加数据                                                                                           | 是        |
| prepend        | 向指定key的value头部追加数据                                                                                           | 是        |
| cas            | 检查并修改数据                                                                                                      | 是        |
| get            | 查询数据                                                                                                         | 是        |
| gets           | 查询数据详细信息                                                                                                     | 是        |
| delete         | 删除数据                                                                                                         | 是        |
| incr           | 算术增                                                                                                          | 是        |
| decr           | 算术减                                                                                                          | 是        |
| touch          | 修改数据过期时间                                                                                                     | 是        |
| quit           | 断开连接                                                                                                         | 是        |
| flush_all      | 清空数据 说明： 若提供可选参数delay，则delay取值必须为0。        | 是        |
| version        | 查询服务版本信息                                                                                                     | 是        |
| stats          | 运行统计信息管理 说明： 当前只支持查询基础统计信息，不支持可选参数操作命令。 | 是        |
| cache_memlimit | 设置内存使用限制                                                                                                     | 否        |
| slabs          | 查询内部存储结构使用情况                                                                                                 | 否        |
| lru            | 数据过期删除策略管理                                                                                                   | 否        |
| lru_crawler    | 数据过期删除线程管理                                                                                                   | 否        |
| verbosity      | 日志级别管理                                                                                                       | 否        |
| watch          | 运行事件监控                                                                                                       | 否        |
   
#### 二进制协议
Memcached二进制协议将命令及所操作的内容按照特定结构进行编码后发送，通过预定的字节串表示命令。
Memcached二进制协议与文本协议相比，功能更多，支持SASL认证更加安全，但可用的客户端数量较少。
DCS Memcached实例对二进制协议命令的支持情况如[表2]所示。
 表2Memcached实例二进制协议支持的命令说明 
| **命令编码** | **命令**          | **功能**                                                                                                          | 是否支持 |
|:---|:---|:---|:---|
| 0x00     | GET             | 查询数据                                                                                                            | 是    |
| 0x01     | SET             | 设置数据，主要包括新增或者修改数据。                                                                                              | 是    |
| 0x02     | ADD             | 新增数据                                                                                                            | 是    |
| 0x03     | REPLACE         | 更新数据                                                                                                            | 是    |
| 0x04     | DELETE          | 删除数据                                                                                                            | 是    |
| 0x05     | INCREMENT       | 算术增                                                                                                             | 是    |
| 0x06     | DECREMENT       | 算术减                                                                                                             | 是    |
| 0x07     | QUIT            | 断开连接                                                                                                            | 是    |
| 0x08     | FLUSH           | 清空数据 说明： 若提供可选参数delay参数，则delay取值必须为0。        | 是    |
| 0x09     | GETQ            | 查询数据，在出现错误时不返回任何信息。                                                                                             | 是    |
| 0x0a     | NOOP            | 空操作，相当于ping。                                                                                                    | 是    |
| 0x0b     | VERSION         | 查询服务版本信息                                                                                                        | 是    |
| 0x0c     | GETK            | 查询数据并返回key                                                                                                      | 是    |
| 0x0d     | GETKQ           | 查询数据并返回key，在出现错误时不返回任何信息。                                                                                       | 是    |
| 0x0e     | APPEND          | 向指定key的value末尾追加数据                                                                                              | 是    |
| 0x0f     | PREPEND         | 向指定key的value头部增加数据                                                                                              | 是    |
| 0x10     | STAT            | 查询缓存实例的统计信息 说明： 当前只支持查询基础统计信息，不支持可选参数操作命令。 | 是    |
| 0x11     | SETQ            | 设置数据，主要包括新增或者修改数据。 在成功时不返回任何信息。                                              | 是    |
| 0x12     | ADDQ            | 新增数据，在成功时不返回任何信息。                                                                                               | 是    |
| 0x13     | REPLACEQ        | 更新数据，在成功时不返回任何信息。                                                                                               | 是    |
| 0x14     | DELETEQ         | 删除数据，在成功时不返回任何信息。                                                                                               | 是    |
| 0x15     | INCREMENTQ      | 算术增，在成功时不返回任何信息                                                                                                 | 是    |
| 0x16     | DECREMENTQ      | 算术减，在成功时不返回任何信息                                                                                                 | 是    |
| 0x17     | QUITQ           | 断开连接                                                                                                            | 是    |
| 0x18     | FLUSHQ          | 清空数据并不返回任何信息 说明： 若提供delay参数，则delay取值必须为0。   | 是    |
| 0x19     | APPENDQ         | 向指定key的value末尾追加数据，在成功时不返回任何信息                                                                                  | 是    |
| 0x1a     | PREPENDQ        | 向指定key的value头部增加数据，在成功时不返回任何信息                                                                                  | 是    |
| 0x1c     | TOUCH           | 修改数据过期时间                                                                                                        | 是    |
| 0x1d     | GAT             | 查询数据同时修改过期时间                                                                                                    | 是    |
| 0x1e     | GATQ            | 查询数据同时修改过期时间，在操作失败时不返回任何信息。                                                                                     | 是    |
| 0x23     | GATK            | 查询数据并返回key，同时修改过期时间。                                                                                            | 是    |
| 0x24     | GATKQ           | 查询数据并返回key，同时修改过期时间，在操作失败时不返回任何信息。                                                                              | 是    |
| 0x20     | SASL_LIST_MECHS | 获取服务端支持的SASL认证机制                                                                                                | 是    |
| 0x21     | SASL_AUTH       | SASL认证                                                                                                          | 是    |
| 0x22     | SASL_STEP       | SASL复杂认证后续步骤                                                                                                    | 是    |
   
