memcached基本操作指令

Posted 小亮的BLOG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcached基本操作指令相关的知识,希望对你有一定的参考价值。

item执行命令:

第一行:Key Flags ExpirationTime Bytes
Key:Key 用于查找缓存值
Flags:一个32位的标志值,客户机使用它存储关于键值对的额外信息
Expiration time:在缓存中保存键值对的时长(以秒为单位,0表示永远)
Bytes:在缓存中存储的字节数
第二行:Value:存储的值(始终位于第二行)

noreply :可以在命令的第一行后面加入noreply,以避免在处理交互命令的时候,等待服务端的返回

向Memcached写入值 

  命令有:set、add、replace、append、prepend、cas

  • set:用于向缓存添加新的键值对,如果键已经存在,则之前的值将被替换
  • add:仅当缓存中不存在键时,add命令才会向缓存中添加一个键值对,如果缓存中已经存在键,则之前的值将仍然保持,服务器响应 NOT_STORED
  • replace:仅当键已经存在时,replace命令才会替换缓存中的键。如果缓存中不存在键,服务器响应NOT_STORED
  • append:是在现有缓存数据后面新增数据。如果key不存在,服务器响应NOT_STORED
  • prepend:是在现有缓存数据前面新增数据。如果key不存在,服务器响应NOT_STORED
  • cas(Check And Set ):检查和更新,只有从你读取数据后,别人没有更新这个数据,才能够正确保存。就是版本控制,通常和gets配合使用

 

获取数据的命令有:get 、 gets
  get用来获取数据,gets获取的是数据+版本号

 

删除数据的命令:delete

incr/decr命令:如果缓存数据中存储的是数字形式的字符串,则可以使用
incr/decr 对数据进行递增和递减操作,操作后的值不会为负数

 

分析调优指令

一、stats命令:提供命中率

  分析命中率

13:cmd_get :获取请求数量
14:get_hits :获取成功的总次数,命中次数
15:get_misses :获取失败的总次数

分析对象LRU频率

42:curr_items :当前缓存 item 数量
43:total_items :从服务启动后,总的存储缓存 item 数量
44:evictions :通过删除 item 释放内存的次数

 

 

二、stats slabs区块统计:提供内存利用率

chunk_size:chunk大小,byte
chunks_per_page:每个page的chunk数量
total_pages:page数量
total_chunks:chunk数量*page数量
get_hits:get命中数

used_chunks:已被分配的chunk数
free_chunks:剩余chunk数

mem_requested:请求存储的字节数
active_slabs:slab数量
total_malloced:总内存数量

 存储一个Item长度>96byte后slab变化

 

以上是关于memcached基本操作指令的主要内容,如果未能解决你的问题,请参考以下文章

Memcache存储机制与指令汇总

Memcache存储机制与指令汇总

Memcache存储机制与指令汇总

memcache未授权访问漏洞

redis基本操作命令

Memcached常用指令