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基本操作指令的更多相关文章

  1. 【docker 一】入门实践、环境部署、基本操作指令、镜像库、数据卷

    简述 `docker是如火如荼的容器技术,今后会陆续上传关于微服务技术的学习笔记,希望能和大家一起学习一起分享!` docker环境搭建 1.获取最新版的Docker安装包 $ wget -qO- h ...

  2. [Django]用户权限学习系列之User权限基本操作指令

    针对Django 后台自带的用户管理系统,虽说感觉还可以,但是为了方便用户一些操作,特别设计自定义的用户权限管理系统. 在制作权限页面前,首先需要了解权限和用户配置权限的指令,上章讲到权限的添加,删除 ...

  3. memcached 基本操作

    保存数据 向memcached保存数据的方法有 add replace set 它们的使用方法都相同: my $add = $memcached->add( '键', '值', '期限' );m ...

  4. Mysql基本操作指令集锦

    一.MySQL服务的启动.停止与卸载 在 Windows 命令提示符下运行: 启动: net start MySQL 停止: net stop MySQL 卸载: sc delete MySQL 二. ...

  5. Git基本操作指令

    Git是世界上目前最先进的分布式版本控制系统. 工作原理图: Workspace工作区,Index暂存区,Repository本地仓库区,Remote远程仓库. SVN与Git的最主要的区别? SVN ...

  6. shell 环境下MySQL的基本操作指令总结

    一.对数据库的基本操作 show databases;                      //列出数据库use database_name;               //使用databas ...

  7. Linux基本操作指令

    Linux操作指令 到达当前用户目录:cd ~ 获得管理员权限执行:sudo 解压缩:tar -zxf XXX.tgz 安装包:dpkg -i XXX.deb 通过链接下载文件:wget  http: ...

  8. 从零开始学Linux系统(二)之基本操作指令

    ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear  == C ...

  9. 服务器学习--Linux基本操作指令

    小编后续会持续更新 1.修改服务器的hostname [root@mexihq ~]# hostname [root@mexihq ~]# hostnamectl set-hostname xxx P ...

随机推荐

  1. 【spring源码分析】IOC容器初始化——查漏补缺(四)

    前言:在前几篇查漏补缺中,其实我们已经涉及到bean生命周期了,本篇内容进行详细分析. 首先看bean实例化过程: 分析: bean实例化开始后 注入对象属性后(前面IOC初始化十几篇文章). 检查激 ...

  2. Parameter 'list1' not found. Available parameters are [list] 解析

    在使用foreach语句时会经常报Parameter ‘ordersList’ not found. Available parameters are [list] 解析这个错误,造成这个错误的主要原 ...

  3. OpenResty之ngx.ssl

    翻译自: ngx.ssl - Lua API for controlling NGINX downstream SSL handshakes 1. 概要 # 注意:如果你使用的是 OpenResty ...

  4. golang入门time与string转换, time加减时间, 两个时间差

    package main import ( "fmt" "time") var timeLayoutStr = "2006-01-02 15:04:0 ...

  5. Heat map 绘图神奇

    https://study.163.com/provider/400000000398149/index.htm?share=2&shareId=400000000398149(博主视频教学主 ...

  6. MySQL 创建和删除数据表

    创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 语法 以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name (column_name col ...

  7. error C2086: “int WINGDIAPI”: 重定义

    1>------ 已启动生成: 项目: OSG_3_1_osgViewer应用基础, 配置: Debug x64 ------1>cl : 命令行 warning D9002: 忽略未知选 ...

  8. PostgreSql 使用自定义序列(Sequence)向表插入数据

    最近公司使用到了PostgreSql,哈哈,这个SQL之前基本上没有用过,既然公司使用到了,那就学习一下吧,记一篇小笔记: 什么是PostgreSql:https://www.postgresql.o ...

  9. centos7用yum安装node.js v8.x

    1.更新node.js v8.x yum源 // 不更新,提示没有 packages文件 # curl --silent --location https://rpm.nodesource.com/s ...

  10. JavaScript:undefined!=false之解 及==比较的规则

    JS中有一个基本概念就是: JavaScript中undefined==null 但undefined!==null undefined与null转换成布尔值都是false 如果按照常规想法,比如下面 ...