memcached-doc-命令

set

用于将 value 存储在指定的 key中。 key已经存在,更新该key所对应的原来的数据。

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# ERROR:在保存失败后输出。
set key flags exptime bytes [noreply]
value
  • 参考
1
2
set hello 0 900 6
123456

add

用于将 value存储在指定的 key中,存在则不更新(过期的 key 会更新),之前的值将仍然保持相同。

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# NOT_STORED :在保存失败后输出。
add key flags exptime bytes [noreply]
value
  • 参考
1
2
add hello 0 900 6
123456

replace

替换已存在的 key的value,不存在,则替换失败。

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# NOT_STORED:执行替换失败后输出。
replace key flags exptime bytes [noreply]
value
  • 参考
1
2
replace hell0 0 900 7
1234567

append

命令用于向已存在 key的 value后面追加数据

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
13
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# NOT_STORED:该键在 Memcached 上不存在。
# CLIENT_ERROR:执行错误。
append key flags exptime bytes [noreply]
value
  • 参考
1
2
append hello 0 900 5
abcde

prepend

向已存在 key的 value前面追加数据

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
13
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# NOT_STORED:该键在 Memcached 上不存在。
# CLIENT_ERROR:执行错误。
prepend key flags exptime bytes [noreply]
value
  • 参考
1
2
prepend hello 0 900 5
abcde

cas

比较和替换,比对后,没有被其他客户端修改的情况下才能写入。

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
# exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
# bytes:在缓存中存储的字节数
# unique_cas_token:通过 gets 命令获取的一个唯一的64位值。
# noreply(可选): 该参数告知服务器不需要返回数据
# value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
# 返回:
# STORED:保存成功后输出。
# ERROR:保存出错或语法错误。
# EXISTS:在最后一次取值后另外一个用户也在更新该数据。
# NOT_FOUND:Memcached 服务上不存在该键值。
cas key flags exptime bytes unique_cas_token [noreply]
value
  • 参考
1
2
cas hello 0 900 5 1
redis

get

获取存储在 key 中的 value,不存在,则返回空。

  • 语法
1
2
3
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
get key
  • 参考
1
get hello

gets

获取带有CAS令牌存的value,若key不存在,则返回为空

  • 语法
1
2
3
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
gets key
  • 参考
1
gets hello

delete

删除已存在的 key

  • 语法
1
2
3
4
5
6
7
8
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# noreply(可选): 该参数告知服务器不需要返回数据
# 返回:
# DELETED:删除成功。
# ERROR:语法错误或删除失败。
# NOT_FOUND:key 不存在。
delete key [noreply]
  • 参考
1
delete hello

incr

对已存在的 key的数字值进行自增

  • 语法
1
2
3
4
5
6
7
8
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# increment_value: 增加的数值。
# 返回:
# NOT_FOUND:key 不存在。
# CLIENT_ERROR:自增值不是对象。
# ERROR其他错误,如语法错误等。
incr key increment_value
  • 参考
1
incr num1 5

decr

对已存在的 key的数字值进行自减

  • 语法
1
2
3
4
5
6
7
8
# 参数:
# key:键值 key-value 结构中的 key,用于查找缓存值。
# decrement_value: 减少的数值。
# 返回:
# NOT_FOUND:key 不存在。
# CLIENT_ERROR:自减值不是对象。
# ERROR其他错误,如语法错误等。
decr key decrement_value
  • 参考
1
decr num1 5

stats

返回统计信息例如 PID(进程号)、版本号、连接数等

  • 语法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 信息:
# pid: memcache服务器进程ID
# uptime:服务器已运行秒数
# time:服务器当前Unix时间戳
# version:memcache版本
# pointer_size:操作系统指针大小
# rusage_user:进程累计用户时间
# rusage_system:进程累计系统时间
# curr_connections:当前连接数量
# total_connections:Memcached运行以来连接总数
# connection_structures:Memcached分配的连接结构数量
# cmd_get:get命令请求次数
# cmd_set:set命令请求次数
# cmd_flush:flush命令请求次数
# get_hits:get命令命中次数
# get_misses:get命令未命中次数
# delete_misses:delete命令未命中次数
# delete_hits:delete命令命中次数
# incr_misses:incr命令未命中次数
# incr_hits:incr命令命中次数
# decr_misses:decr命令未命中次数
# decr_hits:decr命令命中次数
# cas_misses:cas命令未命中次数
# cas_hits:cas命令命中次数
# cas_badval:使用擦拭次数
# auth_cmds:认证命令处理的次数
# auth_errors:认证失败数目
# bytes_read:读取总字节数
# bytes_written:发送总字节数
# limit_maxbytes:分配的内存总大小(字节)
# accepting_conns:服务器是否达到过最大连接(0/1)
# listen_disabled_num:失效的监听数
# threads:当前线程数
# conn_yields:连接操作主动放弃数目
# bytes:当前存储占用的字节数
# curr_items:当前存储的数据总数
# total_items:启动以来存储的数据总数
# evictions:LRU释放的对象数目
# reclaimed:已过期的数据条目来存储新数据的数目
stats
  • 参考
1
stats

stats items

显示各个slab 中 item 的数目和存储时长(最后一次访问距离现在的秒数)

  • 语法
1
stats items

stats slabs

显示各个slab的信息,包括chunk的大小、数目、使用情况等。

  • 语法
1
stats slabs

stats sizes

显示所有item的大小和个数

  • 语法
1
stats sizes

stats settings

查看运行中的memcached的配置

  • 语法
1
stats settings

stats sizes_enable

启动直方图的形式展示sizes信息

  • 语法
1
stats sizes_enable

stats sizes_disable

禁用直方图

  • 语法
1
stats sizes_disable

stats conns

连接信息

  • 语法
1
stats conns

stats reset

清空统计数据

  • 语法
1
stats reset

flush_all

清理缓存中所有的键值对

  • 语法
1
flush_all [time] [noreply]