更新时间:2022-02-21 GMT+08:00

Memcached命令

Memcached引擎支持基于TCP(Memcached Text Protocol)的文本协议和二进制(Memcached Binary Protocol)协议,任何兼容Memcached协议的客户端都可以访问DCS。

文本协议

Memcached文本协议通过ASCII文本传递命令,便于用户编写客户端和调测问题,甚至可以直接使用Telnet连接Memcached实例。

Memcached文本协议与二进制协议相比,兼容更多的开源类型客户端,但文本协议不支持认证操作。

Memcached实例需要开启免密访问模式后,才能通过文本协议连接。此时Memcached实例的访问将不再受用户名、密码的认证保护。同一VPC内符合安全组规则的任何Memcached客户端均可连接访问Memcached实例,存在安全风险,请谨慎使用。

DCS Memcached实例对文本协议命令的支持情况如表1所示。

表1 Memcached实例文本协议支持的命令说明

命令

功能

是否支持

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所示。

表2 Memcached实例二进制协议支持的命令说明

命令编码

命令

功能

是否支持

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复杂认证后续步骤