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变化
原文地址:https://www.cnblogs.com/xiaoliangup/p/9227181.html