图片 1

memcached 安装配置:
Memcached 教程

   
上一篇小说讲了memcached的安装配置,后天来看一下memcached先关操作命令。
启动memcached

Memcached
  • 开源 高质量 布满式内部存款和储蓄器对象缓存系统
  • key-value存款和储蓄系统, 用来囤积小块的自由数据(字符串、对象)
  • 经过缓存数据库查询结果,减弱数据库访问次数,以拉长动态Web应用的速度、进步可扩大性。

Memcached 存款和储蓄命令

Memcached set 命令

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

一旦set的key已经存在,该命令能够创新该key所对应的原本的数据,相当于促成立异的成效。

语法:

set 命令的基本语法格式如下:

set key flags exptime bytes [noreply] value

参数表明如下:

  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:能够回顾键值对的整型参数,客商机使用它存款和储蓄关于键值对的额外消息。
  • exptime:在缓存中保存键值对的时日长短(以秒为单位,0 表示长久)
  • bytes:在缓存中积累的字节数
  • noreply(可选): 该参数告知服务器无需回到数据
  • value:存款和储蓄的值(始终放在第二行)(可直接明白为key-value结构中的value)

出口消息验证:

  • STORED:保存成功后输出。
  • EEscortROENVISION:在维系退步后输出。

Memcached add 命令

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

设若 add 的 key 已经存在,则不会更新数据(过期的 key
会更新),在此之前的值将依然维持同样,何况您将获得响应

出口音信表明:

  • STORED:保存成功后输出。
  • NOT_STORED :在维系战败后输出。

Memcached replace 命令

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

假诺 key 空头支票,则替换失利,并且您将赢得响应 NOT_STORED。

Memcached append 命令

Memcached append 命令用于向已存在 key(键) 的 value(数据值) 前面扩展数据

Memcached prepend 命令

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

输出消息表明:

  • STORED:保存成功后输出。
  • NOT_STORED:该键在 Memcached 上不设有。
  • CLIENT_ETiguanROEscort:实施错误。

Memcached CAS 命令

Memcached CAS(Check-And-Set 或 Compare-And-Swap)
命令用于试行三个”检查并设置”的操作

它仅在如今客商端最终一回取值后,该key
对应的值没有被其他顾客端修改的情况下, 才干够将值写入。

反省是经过cas_token参数实行的,
这一个参数是Memcach钦赐给业已存在的成分的一个独一的陆14人值。

语法:

CAS 命令的基本语法格式如下:

cas key flags exptime bytes unique_cas_token [noreply] value

参数表达如下:

  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:能够总结键值对的整型参数,顾客机使用它存储关于键值对的附加消息。
  • exptime:在缓存中保存键值对的时刻长度(以秒为单位,0 代表恒久)
  • bytes:在缓存中蕴藏的字节数
  • unique_cas_token通过 gets 命令获取的二个独一的62个人值。
  • noreply(可选): 该参数告知服务器无需回到数据
  • value:存款和储蓄的值(始终位于第二行)(可间接通晓为key-value结构中的value)

实例

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

gets 命令的法力周围于基本的 get 命令。四个指令之间的距离在于,gets
重返的消息有一点点多一些:64 位的整型值特别像名称/值对的 “版本” 标志符。

实例步骤如下:

  • 举例没有安装独一令牌,则 CAS 命令试行错误。
  • 一经键 key 不真实,施行停业。
  • 增添键值对。
  • 经过 gets 命令获取独一令牌。
  • 使用 cas 命令更新数据
  • 利用 get 命令查看数据是还是不是更新

输出消息认证:

  • STORED:保存成功后输出。
  • EPAJERORO奥迪Q7:保存出错或语法错误。
  • EXISTS:在终极一回取值后其它一个客户也在更新该数量。
  • NOT_FOUND:Memcached 服务上不设有该键值。

### Memcached 查找命令

**Memcached get 命令**

Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key
不存在,则返回空。

语法:

get 命令的基本语法格式如下:

get key

多个 key 使用空格隔开,如下:

get key1 key2 key3

参数说明如下:

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

**Memcached gets 命令**

Memcached gets 命令获取带有 CAS 令牌存 的 value(数据值) ,如果 key
不存在,则返回空。

**Memcached delete 命令**

Memcached delete 命令用于删除已存在的 key(键)。

输出信息说明:

-   DELETED:删除成功。
-   ERROR:语法错误或删除失败。
-   NOT\_FOUND:key 不存在。

**Memcached incr 与 decr 命令**

Memcached incr 与 decr 命令用于对已存在的 key(键)
的数字值进行自增或自减操作。

incr 与 decr 命令操作的数据必须是十进制的32位无符号整数。

如果 key 不存在返回 NOT\_FOUND,如果键的值不为数字,则返回
CLIENT\_ERROR,其他错误返回 ERROR。

输出信息说明:

-   NOT\_FOUND:key 不存在。
-   CLIENT\_ERROR:自增/减值不是对象。
-   ERROR其他错误,如语法错误等。
[memcached@zabbix Desktop]$ memcached -p 11211 -d -u memcached -l 192.168.126.128 -c 1024
[memcached@zabbix Desktop]$ ps -ef | grep memcached
memcach+   4030      1  0 21:43 ?        00:00:00 memcached -p 11211 -d -u memcached -l 192.168.126.128 -c 1024
memcach+   4044   3991  0 21:43 pts/0    00:00:00 grep --color=auto memcached
[memcached@zabbix Desktop]$ 
特征
  • 协议轻便(基于文本行的合计)
  • 基于libevent的事件管理
  • 停放内部存款和储蓄器存款和储蓄方式
  • Memcached不互相通讯的布满式

注: 
由于数据保存在内置的内存存储空间中,所以重启memcached会导致全部数据消失;
内容容量达到指定值之后,就基于LRU算法自动删除不使用的缓存;
Memcached服务器端没有分布式功能,这完全取决于客户端的实现。

Memcached 总括命令

Memcached stats 命令

Memcached stats 命令用于重返总括消息比方 PID(进度号)、版本号、连接数等。

Memcached stats items 命令

Memcached stats items 命令用于显示各样 slab 中 item
的数据和积存时间长度(最终三次访问距离未来的秒数)。

Memcached stats slabs 命令

Memcached stats slabs
命令用于彰显各种slab的音信,包涵chunk的轻重缓急、数目、使用境况等。

Memcached stats sizes 命令

Memcached stats sizes 命令用于呈现全数item的深浅和个数。

该新闻再次来到两列,第一列是 item 的大小,第二列是 item 的个数。

Memcached flush_all 命令

Memcached flush_all 命令用于用于清理缓存中的全体key=>value(键=>值) 对。

该命令提供了一个可选参数 time,用于在制订的年华后实行清理缓存操作。

连接Memcached

初叶参数
  • -p 使用端口,私下认可11211
  • -m 最大内部存储器大小,暗许64M
  • -vv 用very verbose方式运转,调节和测量试验音讯和谬误输出到调控台
  • -d 作为daemon在后台运营
[memcached@zabbix ~]$ telnet 192.168.126.128 11211
Trying 192.168.126.128...
Connected to 192.168.126.128.
Escape character is '^]'.
安装/启动
$ sudo apt-get install memcached # 安装
$ memcached -p 11211 64m -vv  # 显示了调试信息。这样就在前台启动了memcached,监听TCP端口11211,最大内存为64M。调试信息的内容大部分是关于存储的信息
$ memcached -p 11211 64m -d   # 后台服务程序运行

set 命令
Memcached set 命令用于将 value(数据值) 存款和储蓄在钦定的 key(键) 中。
假定set的key已经存在,该命令能够创新该key所对应的本来的多少,也等于促成立异的效果。

接连实例
$ telnet HOST PORT
// 实例
$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set foo 0 0 3
bar
STORED
get foo
VALUE foo 0 3
bar
END
quit

set 命令的基本语法格式如下:

set 命令

value 存款和储蓄在钦命的 key
如果set的key已经存在,该命令能够立异该key所对应的本原的数目,约等于实现立异的职能

# 语法格式
set key flags exptime bytes [noreply]
value
  • key key-value的key
  • flags
    能够总结键值对的整型参数,客商机使用它存款和储蓄关于键值对的额外音信
  • exptime 在缓存中保存键值对的时间(秒为单位,0 永久)
  • bytes 存款和储蓄字节数
  • noreply (可选)告知服务器不须求再次回到数据
  • value key-value的value

实例:

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

set fmter 0 100 9
memcached
STORED      # 数据设置成功则输出STORED,保存失败则输出ERROR

get fmter
VALUE fmter 0 9
memcached
END
quit
set key flags exptime bytes [noreply] 
value 
add 命令

value 存款和储蓄在钦点的 key
假诺 add 的 key
已经存在,则不会更新数据,以前的值将还是保持同等,而且您将获得响应
NOT_STORED

# 语法格式 [同set]
add key flags exptime bytes [noreply]
value

参数表明如下:

replace 命令

轮换已存在的 keyvalue
比如 key 不设有,则替换失利,並且您将获得响应 NOT_STORED

# 语法格式 [同set]
replace key flags exptime bytes [noreply]
value

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:能够包蕴键值对的整型参数,客商机使用它存款和储蓄关于键值对的附加音讯。
    exptime:在缓存中保存键值对的年月长短(以秒为单位,0 代表永恒)
    bytes:在缓存中储存的字节数
    noreply(可选): 该参数告知服务器没有需求回到数据
   
value:存储的值(始终位于第二行)(可平昔领会为key-value结构中的value)

append 命令

向已存在 keyvalue 前面追加数据
输出表明:
STORED 保存成功后输出。
NOT_STORED 该键在 Memcached 上不设有。
CLIENT_ERROR 试行错误。

# 语法格式 [同set]
append key flags exptime bytes [noreply]
value

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.

set fmt 0 100 9 
memcached
STORED

get fmt
VALUE fmt 0 9
memcached
END

append fmt 0 100 5
redis
STORED

get fmt
VALUE fmt 0 14
memcachedredis
END
quit

示例:

prepend 命令

向已存在 keyvalue 前面追加数据
出口表达:
STORED 保存成功后输出。
NOT_STORED 该键在 Memcached 上不设有。
CLIENT_ERROR 推行错误。

# 语法格式 [同set]
prepend key flags exptime bytes [noreply]
value
set name 0 0 6          
donald
STORED
CAS 命令

CAS(Check-And-Set/Compare-And-Swap)
命令用于施行三个”检查并安装”的操作
仅在这几天客商端最终二遍取值后,该key
对应的值未有被别的客户端修改的景况下, 本事够将值写入
自己争持是经过cas_token参数进行的,
那些参数是memcached钦点给已经存在的因素的一个独一的60位值

# 语法格式 [同set]
cas key flags exptime bytes unique_cas_token [noreply]
value
  • unique_cas_token 通过 gets 命令获取的三个独一的陆十几位值

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set fmt 0 100 9
memcached
STORED

gets fmt
VALUE fmt 0 9 9
memcached
END

cas fmt 0 100 5 9
redis
STORED

get fmt
VALUE fmt 0 5
redis
END
quit

输出信息验证
STORED 保存成功后输出。
ERROR 保存出错或语法错误。
EXISTS 在结尾贰回取值后其它多少个客户也在立异该数额。
NOT_FOUND Memcached 服务上空头支票该键值。

get 命令
get 命令获取存储在 key(键) 中的 value(数据值) ,假如 key
海市蜃楼,则赶回空。
语法:

get 命令

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

# 语法格式
get key [key1, key2, ...]

get 命令的基本语法格式如下:

gets 命令

拿到带有 cas_token存 的 value,若key不存在,返回空

# 语法格式
gets key [key1, key2, ...]
get key
delete 命令

去除已存在的 key

# 语法格式
delete key [noreply]
delete key [key1, key2, ...]

回去参数
DELETED 删除成功
ERROR 语法错误/删除失利
NOT_FOUND key不存在

四个 key 使用空格隔绝,如下:

incr/decr 命令

对已存在的 key的数字值进行自增或自减操作
操作的数量必得是十进制的三十三人无符号整数

# 语法格式
incr key increment_value
derc key decrement_value

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set fmt 0 100 2
15
STORED

incr fmt 8
23

decr fmt 7
16

回来参数
NOT_FOUND key不存在
CLIENT_ERROR 自增值不是目的(数字)
ERROR 其余错误,如语法错误

get key1 key2 key3
stats 命令

出口 Memcached 服务音信

# 语法格式
stats

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 9541              # memcached的服务端进程id
STAT uptime 12165      # 服务器已运行时间(秒)
STAT time 1467873285  # 服务器当前UNIX时间戳
STAT version 1.4.25 Ubuntu   # memcache版本
STAT libevent 2.0.21-stable  
STAT pointer_size 64               # 操作系统指针大小
STAT rusage_user 0.264000    # 进程累计用户时间
STAT rusage_system 0.212000  # 进程累计系统时间
STAT curr_connections 5    # 当前连接数量
STAT total_connections 14  # Memcached运行以来连接总数
STAT connection_structures 6  # Memcached分配的连接结构数量
STAT reserved_fds 20  
STAT cmd_get 27        # get命令请求次数
STAT cmd_set 18        # set命令请求次数
STAT cmd_flush 0       # flush命令请求次数
STAT cmd_touch 0      # touch命令请求次数
STAT get_hits 19         # get命令命中次数
STAT get_misses 8      # get命令未命中次数
STAT delete_misses 0  # delete命令未命中次数
STAT delete_hits 1       # delete命令命中次数
STAT incr_misses 0     # incr命令未命中次数
STAT incr_hits 1          # incr命令命中次数
STAT decr_misses 0    # decr命令未命中次数
STAT decr_hits 1         # decr命令命中次数
STAT cas_misses 2      # cas命令未命中次数
STAT cas_hits 1           # cas命令命中次数
STAT cas_badval 2       # 使用擦拭次数
STAT touch_hits 0        # touch命令命中次数
STAT touch_misses 0   # touch命令未命中次数
STAT auth_cmds 0       # 认证命令处理的次数
STAT auth_errors 0      # 认证失败数目
STAT bytes_read 934   # 读取总字节数
STAT bytes_written 906  # 发送总字节数
STAT limit_maxbytes 67108864   # 分配的内存总大小(字节)
STAT accepting_conns 1   #  服务器是否达到过最大连接(0/1)
STAT listen_disabled_num 0  # 失效的监听数
STAT time_in_listen_disabled_us 0
STAT threads 4              #  当前线程数
STAT conn_yields 0        # 连接操作主动放弃数目
STAT hash_power_level 16  
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT malloc_fails 0
STAT bytes 218          # 当前存储占用的字节数
STAT curr_items 3      # 当前存储的数据总数
STAT total_items 12   # 启动以来存储的数据总数
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT evictions 0      # LRU释放的对象数目
STAT reclaimed 0    # 已过期的数据条目来存储新数据的数目
STAT crawler_reclaimed 0
STAT crawler_items_checked 0
STAT lrutail_reflocked 0
END

参数表达如下:
key:键值 key-value 结构中的 key,用于查找缓存值。

stats items 命令

呈现种种 slab 中 item 的数码和储存时间长度(最终叁次访问距离现在的秒数)

# 语法格式
stats items

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats items
STAT items:1:number 3
STAT items:1:age 11655
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 0
STAT items:1:expired_unfetched 0
STAT items:1:evicted_unfetched 0
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 0
STAT items:1:lrutail_reflocked 0
END

示例:

stats slabs 命令

用来呈现各类slab的新闻,包涵chunk的轻重缓急、数目、使用状态等

# 语法格式
stats slabs

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats slabs
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_pages 1
STAT 1:total_chunks 10922
STAT 1:used_chunks 3
STAT 1:free_chunks 10919
STAT 1:free_chunks_end 0
STAT 1:mem_requested 218
STAT 1:get_hits 19
STAT 1:cmd_set 18
STAT 1:delete_hits 1
STAT 1:incr_hits 1
STAT 1:decr_hits 1
STAT 1:cas_hits 1
STAT 1:cas_badval 2
STAT 1:touch_hits 0
STAT active_slabs 1
STAT total_malloced 1048512
END
get name
VALUE name 0 6
donald
END

测试set 命令 过期时间
set age 0 10 2
27
STORED

获取age的值
get age
VALUE age 0 2
27
END

经过10秒钟以后 
get age
END
stats sizes 命令

来得全体item的分寸和个数
该新闻重回两列,第一列是 item 的高低,第二列是 item 的个数

# 语法格式
stats sizes

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats sizes
STAT 96 3
END

replace 命令
Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
借使 key 海市蜃楼,则替换失利,並且您将赢得响应 NOT_STORED。
语法:

flush_all 命令

理清缓存中的全体 key-value
可选参数 time,用于在钦点的光阴后举办清理缓存操作

# 语法格式
flush_all [time] [noreply]

实例

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set fmt 0 0 9 
memcached
STORED

get fmt
VALUE fmt 0 9
memcached
END

flush_all
OK

get fmt
END

replace 命令的基本语法格式如下:

replace key flags exptime bytes [noreply]
value

参数表达如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:能够归纳键值对的整型参数,客商机使用它存款和储蓄关于键值对的附加音信。
    exptime:在缓存中保存键值对的年月长度(以秒为单位,0 代表永世)
    bytes:在缓存中蕴藏的字节数
    noreply(可选): 该参数告知服务器无需回到数据
   
value:存款和储蓄的值(始终位于第二行)(可径直掌握为key-value结构中的value)

示例:

get name
VALUE name 0 6
donald
END

replace name 0 0 5
jamel
STORED

get name
VALUE name 0 5
jamel
END


append 命令

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

语法:

append 命令的基本语法格式如下:

append key flags exptime bytes [noreply]
value

参数表明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:可以回顾键值对的整型参数,客商机使用它存款和储蓄关于键值对的额外消息。
    exptime:在缓存中保存键值对的光阴长短(以秒为单位,0 表示永恒)
    bytes:在缓存中寄放的字节数
    noreply(可选): 该参数告知服务器无需再次回到数据
   
value:存款和储蓄的值(始终放在第二行)(可直接领会为key-value结构中的value)

示例:

append name 0 0 4
_han
STORED

get name
VALUE name 0 9
jamel_han
END

prepend 命令

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

语法:

prepend 命令的基本语法格式如下:

prepend key flags exptime bytes [noreply]
value

参数表达如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:能够满含键值对的整型参数,客商机使用它存款和储蓄关于键值对的附加音讯。
    exptime:在缓存中保存键值对的时间长短(以秒为单位,0 代表永世)
    bytes:在缓存中存款和储蓄的字节数
    noreply(可选): 该参数告知服务器不须求回到数据
   
value:存款和储蓄的值(始终位于第二行)(可直接明白为key-value结构中的value)

示例:

prepend name 0 0 1  
0
STORED

get name
VALUE name 0 0
0jamel_han
END

delete 命令

Memcached delete 命令用于删除已存在的 key(键)。
语法:

delete 命令的基本语法格式如下:

delete key [noreply]

参数表达如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
    noreply(可选): 该参数告知服务器没有必要回到数据

示例:

get name
VALUE name 0 10
0jamel_han
END

delete name
DELETED

get name
END

delete name
NOT_FOUND

gets 命令
Memcached gets 命令获取带有 CAS 令牌存 的 value(数据值) ,固然 key
不设有,则赶回空。
语法:

gets 命令的基本语法格式如下:

gets key

七个 key 使用空格隔开分离,如下:

gets key1 key2 key3

参数表明如下:

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

示例:

set name 0 0 6 
donald
STORED

get name
VALUE name 0 6
donald
END

gets name
VALUE name 0 6 7
donald
END

在运用 gets 命令的出口结果中,在最后一列的数字 7 代表了 key 为 name 的
CAS 令牌。

CAS 命令
Memcached CAS(Check-And-Set 或 Compare-And-Swap)
命令用于施行贰个”检查并安装”的操作
它仅在此时此刻顾客端最终二遍取值后,该key
对应的值未有被其余客户端修改的状态下,
才可以将值写入。检查是经过cas_token参数进行的,
那一个参数是Memcach钦命给已经存在的因素的三个独一的六16位值。
语法:

CAS 命令的基本语法格式如下:

cas key flags exptime bytes unique_cas_token [noreply]
value

参数表达如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:能够包罗键值对的整型参数,顾客机使用它存款和储蓄关于键值对的附加音信。
    exptime:在缓存中保存键值对的岁月长短(以秒为单位,0 代表永久)
    bytes:在缓存中积累的字节数
    unique_cas_token通过 gets 命令获取的贰个独一的六12个人值。
    noreply(可选): 该参数告知服务器无需重返数据
   
value:存款和储蓄的值(始终放在第二行)(可一向通晓为key-value结构中的value)
示例:

<− 缺少 token
cas name 0 0 5 
ERROR

<− token不一致
cas name 0 0 5 1
jamel

CLIENT_ERROR bad data chunk
ERROR

cas name 0 0 5 7 
jamel
STORED

get name
VALUE name 0 5
jamel
END

<− 键 age 不存在
cas age 0 0 2 1   
27
NOT_FOUND


incr 与 decr 命令

Memcached incr 与 decr 命令用于对已存在的 key(键)
的数字值举行自增或自减操作。
incr 与 decr 命令操作的多寡必需是十进制的30位无符号整数。
只要 key 荒诞不经重回 NOT_FOUND,假如键的值不为数字,则赶回
CLIENT_E途锐RO大切诺基,别的错误再次来到 EHighlanderRO途锐。
incr 命令
语法:

incr 命令的基本语法格式如下:

incr key increment_value

参数表达如下:

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

decr 命令的基本语法格式如下:

decr key decrement_value

参数表明如下:

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

示例:

set age 0 0 2 
27
STORED

get age
VALUE age 0 2
27
END


incr age 1
28

get age
VALUE age 0 2
28
END

incr age 2
30

get age
VALUE age 0 2
30
END

decr age 1
29

get age
VALUE age 0 2
29
END


decr age 2
27

get age
VALUE age 0 2
27
END

重新设置age值,过期时间为10秒
set age 0 10 2
19
STORED

get age
VALUE age 0 2
19
END

过10秒钟:
get age
END


add 命令

Memcached add 命令用于将 value(数据值) 存储在内定的 key(键) 中。
万一 add 的 key 已经存在,则不会更新数据(过期的 key
会更新),在此以前的值将仍旧保持同等,而且您将赢得响应 NOT_STORED。
语法:

add 命令的基本语法格式如下:

add key flags exptime bytes [noreply]
value

参数表明如下:

    key:键值 key-value 结构中的 key,用于查找缓存值。
   
flags:能够回顾键值对的整型参数,客商机使用它存款和储蓄关于键值对的额外音讯。
    exptime:在缓存中保存键值对的时日长度(以秒为单位,0 表示永恒)
    bytes:在缓存中蕴藏的字节数
    noreply(可选): 该参数告知服务器无需重返数据
   
value:存款和储蓄的值(始终放在第二行)(可径直了然为key-value结构中的value)
示例:

get name
VALUE name 0 6
donald
END

key 已经存在
add name 0 10 5      
jamel
NOT_STORED

get name
VALUE name 0 6
donald
END

重新设置过期时间

set name 0 10 5     
jamel
STORED
过10秒钟
get name
END

add name 0 10 6 
donald
STORED

get name
END

add name 0 20 5
jamel
STORED

get name
VALUE name 0 5
jamel
END

过20秒以后

get name
END

针对key不存在
get age
END
delete age
NOT_FOUND

add age 0 0 2
27
STORED

get age
VALUE age 0 2
27
END

stats 命令

Memcached stats 命令用于重回总计音讯举个例子PID(进程号)、版本号、连接数等。
语法:

stats 命令的基本语法格式如下:

stats
示例:

stats
STAT pid 4030
STAT uptime 4497
STAT time 1507561106
STAT version 1.5.2
STAT libevent 2.1.8-stable
STAT pointer_size 64
STAT rusage_user 0.956704
STAT rusage_system 0.956704
STAT max_connections 1024
STAT curr_connections 5
STAT total_connections 8
STAT rejected_connections 0
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 53
STAT cmd_set 24
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 37
STAT get_misses 16
STAT get_expired 3
STAT get_flushed 0
STAT delete_misses 2
STAT delete_hits 3
STAT incr_misses 0
STAT incr_hits 2
STAT decr_misses 0
STAT decr_hits 2
STAT cas_misses 1
STAT cas_hits 1
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 1369
STAT bytes_written 1779
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT time_in_listen_disabled_us 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT slab_reassign_rescues 0
STAT slab_reassign_chunk_rescues 0
STAT slab_reassign_evictions_nomem 0
STAT slab_reassign_inline_reclaim 0
STAT slab_reassign_busy_items 0
STAT slab_reassign_busy_deletes 0
STAT slab_reassign_running 0
STAT slabs_moved 0
STAT lru_crawler_running 0
STAT lru_crawler_starts 3060
STAT lru_maintainer_juggles 8631
STAT malloc_fails 0
STAT log_worker_dropped 0
STAT log_worker_written 0
STAT log_watcher_skipped 0
STAT log_watcher_sent 0
STAT bytes 64
STAT curr_items 1
STAT total_items 18
STAT slab_global_page_pool 0
STAT expired_unfetched 2
STAT evicted_unfetched 0
STAT evicted_active 0
STAT evictions 0
STAT reclaimed 3
STAT crawler_reclaimed 0
STAT crawler_items_checked 1
STAT lrutail_reflocked 40
STAT moves_to_cold 40
STAT moves_to_warm 22
STAT moves_within_lru 0
STAT direct_reclaims 0
STAT lru_bumps_dropped 0

END
下边详细分解每个情形项:

    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 items 命令

Memcached stats items 命令用于展现各类 slab 中 item
的数据和仓库储存时间长度(最终一遍访问距离未来的秒数)。
语法:

stats items 命令的基本语法格式如下:

stats items
示例:

stats items
STAT items:1:number 2
STAT items:1:number_hot 0
STAT items:1:number_warm 0
STAT items:1:number_cold 2
STAT items:1:age_hot 0
STAT items:1:age_warm 0
STAT items:1:age 27
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 3
STAT items:1:expired_unfetched 2
STAT items:1:evicted_unfetched 0
STAT items:1:evicted_active 0
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 1
STAT items:1:lrutail_reflocked 40
STAT items:1:moves_to_cold 42
STAT items:1:moves_to_warm 23
STAT items:1:moves_within_lru 0
STAT items:1:direct_reclaims 0
STAT items:1:hits_to_hot 0
STAT items:1:hits_to_warm 0
STAT items:1:hits_to_cold 39
STAT items:1:hits_to_temp 0
END

stats slabs 命令

Memcached stats slabs
命令用于显示各种slab的新闻,满含chunk的高低、数目、使用情状等。
语法:

stats slabs
一声令下的基本语法格式如下:

stats slabs

示例:

stats slabs
STAT 1:chunk_size 96
STAT 1:chunks_per_page 10922
STAT 1:total_pages 1
STAT 1:total_chunks 10922
STAT 1:used_chunks 1
STAT 1:free_chunks 10921
STAT 1:free_chunks_end 0
STAT 1:mem_requested 69
STAT 1:get_hits 2
STAT 1:cmd_set 2
STAT 1:delete_hits 0
STAT 1:incr_hits 0
STAT 1:decr_hits 0
STAT 1:cas_hits 0
STAT 1:cas_badval 0
STAT 1:touch_hits 0
STAT active_slabs 1
STAT total_malloced 1048576
END

flush_all 命令

Memcached flush_all 命令用于用于清理缓存中的所有key=>value(键=>值) 对。

该命令提供了三个可选参数 time,用于在制定的年月后实践清理缓存操作。
语法:

flush_all 命令的基本语法格式如下:

flush_all [time] [noreply]

示例:

flush_all 5
OK

get name
VALUE name 0 6
donald
END

get age
END
get name
END

stats sizes 命令

Memcached stats sizes 命令用于彰显全部item的高低和个数。

该消息重回两列,第一列是 item 的分寸,第二列是 item 的个数。
语法:

stats sizes 命令的基本语法格式如下:

stats sizes

相关文章