memcached 命令

分布式缓存之memcached(基础篇) 1.1memcached简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质... 阅读详情

格式有点乱 可以查看原文 http://note.youdao.com/s/bWMfpGAc

 

 

启动 memcached -m 64 -p 11211 -u nobody -vv

 

 

telnet链接 telnet localhost 11211

 

telnet请求命令格式

<commandname> <key> <flags> <exptime><bytes>\r\n <data block>\r\n

1,<commandname> 可以是”set”,“add”, “replace”。

“set”表示按照相应的<key>存储该数据,没有的时候增加,有的覆盖。

“add”表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败。

“replace”表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败

2,<key>客户端需要保存数据的key。

3,<flags>是一个16位的无符号的整数(以十进制的方式表示)。

该标志将和需要存储的数据一起存储,并在客户端get数据时返回。

客户可以将此标志用做特殊用途,此标志对服务器来说是不透明的。

4,<exptime>过期的时间。

若为0表示存储的数据永远不过时(但可被服务器算法:LRU等替换)。

如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。

5,<bytes>需要存储的字节数(不包含最后的”\r\n”),当用户希望存储空数据时,<bytes>可以为0

6,“STORED\r\n”:表示存储成功.“NOT_STORED\r\n”:表示存储失败,但是该失败不是由于错误。

 

增: add 往内存增加一行新记录

语法: add key flag expire length 回车

key 给值起一个独特的名字

flag 标志,要求为一个正整数

expire 有效期

length 缓存的长度(字节为单位)

flag 的意义:

memcached 基本文本协议,传输的东西,理解成字符串来存储.

想:让你存一个 php 对象,和一个 php 数组,怎么办?

答:序列化成字符串,往出取的时候,自然还要反序列化成 对象/数组/json 格式等等.

这时候, flag 的意义就体现出来了.

比如, 1 就是字符串, 2 反转成数组 3,反序列化对象.....

expire 的意义:

设置缓存的有效期,有 3 种格式

1:设置秒数, 从设定开始数,第 n 秒后失效.

2:时间戳, 到指定的时间戳后失效.

比如在团购网站,缓存的某团到中午 12:00 失效. add key 0 1379209999 6

3: 设为 0. 不自动失效.

注: 有种误会,设为 0,永久有效.错误的

 

1:编译 memcached 时,指定一个最长常量,默认是 30 天.

所以,即使设为 0,30 天后也会失效.

2:可能等不到 30 天,就会被新数据挤出去.

 

delete 删除

delete key [time seconds]

删除指定的 key. 如加可选参数 time,则指删除 key,并在删除 key 后的 time 秒内,不允许

get,add,replace 操作此 key.

 

replace 替换

replace key flag expire length

参数和 add 完全一样,不单独写

 

get 查询

get key

返回 key 的值

 

 

set 是设置和修改值

参数和 add ,replace 一样,但功能不一样.

 

如下比较:

 

用 add 时, key 不存在,才能建立此键值.

但对于已经存在的键,可以用 replace 进行替换/更改

repalce,key 存在时,才能修改此键值,如上图,date 不存在,则没改成功.

而 set 想当于有 add replace 两者的功能.

set key flag expire leng 时

如果服务器无此键 ----> 增加的效果

如果服务器有此键 ----> 修改的效果.

如下图的演示,该图中,name 是已经存在,而 date 原本不存在. set 都可以成功设置他们.

 

incr ,decr 命令:增加/减少值的大小

语法: incr/decr key num

 

应用场景------秒杀功能,

一个人下单,要牵涉数据库读取,写入订单,更改库存,及事务要求, 对于传统型数据库来说,

压力是巨大的.

可以利用 memcached 的 incr/decr 功能, 在内存存储 count 库存量, 秒杀 1000 台

每人抢单主要在内存操作,速度非常快,

抢到 count<=1000 的号人,得一个订单号,再去另一个页面慢慢支付

 

 

统计命令: stats

把 memcached 当前的运行信息统计出来

stats

stat pid 2296 进程号

stat uptime 4237 持续运行时间

stat time 1370054990

stat version 1.2.6

stat pointer_size 32

stat curr_items 4 当前存储的键个数

stat total_items 13

stat bytes 236

stat curr_connections 3

stat total_connections 4

stat connection_structures 4

stat cmd_get 20

stat cmd_set 16

stat get_hits 13

stat get_misses 7 // 这 2 个参数 可以算出命中率

stat evictions 0

stat bytes_read 764

stat bytes_written 618

stat limit_maxbytes 67108864

stat threads 1

 

缓存有一个重要的概念: 命中率.

命中率是指: (查询到数据的次数/查询总数)*100%

如上, 13/(13+7) = 60+% , 的命中率.

 

flush_all 清空所有的存储对象

 

 

 

 

-p 监听的端口

-l 连接的IP地址, 默认是本机

-d start 启动memcached服务

-d restart 重起memcached服务

-d stop|shutdown 关闭正在运行的memcached服务

-d install 安装memcached服务

-d uninstall 卸载memcached服务

-u 以的身份运行 (仅在以root运行的时候有效)

-m 最大内存使用,单位MB。默认64MB

-M 内存耗尽时返回错误,而不是删除项

-c 最大同时连接数,默认是1024

-f 块大小增长因子,默认是1.25

-n 最小分配空间,key+value+flags默认是48

-h 显示帮助

启动命令: memcached -d -m 10 -u root -l 115.28.132.84 -p 11211 -c 256 -P /tmp/memcached.pid

 

 

stats   STAT pid 1532 //进程id   STAT uptime 348167 //服务运行秒数   STAT time 1372215144 //当前unix时间戳   STAT version 1.4.14 //服务器版本   STAT libevent 2.0.10-stable    STAT pointer_size 32 //操作系统字大小   STAT rusage_user 3.997392 //进程累计用户时间   STAT rusage_system 2.258656 //进程累计系统时间   STAT curr_connections 5 //当前打开连接数   STAT total_connections 265 //链接总数   STAT connection_structures 7 //服务器分配的链接结构数   STAT reserved_fds 20 //   STAT cmd_get 1911 //执行get命令次数   STAT cmd_set 195  //执行set命令次数   STAT cmd_flush 3 //执行flush命令次数   STAT cmd_touch 0   STAT get_hits 1708 //get命中次数   STAT get_misses 203 //get未命中次数   STAT delete_misses 11 //delete 未命中次数   STAT delete_hits 14 //delete命中次数   STAT incr_misses 0  //incr 自增命令 未命中次数   STAT incr_hits 0    //incr 命中次数   STAT decr_misses 0  //decr  自减 未命中次数   STAT decr_hits 0    //decr 命中次数   STAT cas_misses 0   //cas 未命中次数   STAT cas_hits 2     //case  命中次数   STAT cas_badval 1   //使用擦拭次数   STAT touch_hits 0   STAT touch_misses 0   STAT auth_cmds 0   STAT auth_errors 0   STAT bytes_read 164108   //读取字节数   STAT bytes_written 1520916 //写入字节书   STAT limit_maxbytes 67108864 //分配的内存数   STAT accepting_conns 1 //目前接受的连接数   STAT listen_disabled_num 0   STAT threads 4 //线程数   STAT conn_yields 0   STAT hash_power_level 16   STAT hash_bytes 262144   STAT hash_is_expanding 0   STAT expired_unfetched 4   STAT evicted_unfetched 0   STAT bytes 23995  //存储字节数   STAT curr_items 31 //item个数   STAT total_items 189 //item总数   STAT evictions 0 //为获取空间删除的item个数   STAT reclaimed 17   END 

 

 

Memcached的安装与配置 通过上述详细的安装、配置和使用示例,相信您已经掌握了如何在不同操作系统上安装和配置Memcached,并使用不同的客户端库与Memcached进行交互。Memcached作为一种高效的缓存解决方案,可以显著提升应用程序的性能,减少数据库负担,是现代Web应用中不可或缺的工具之一。通过合理地使用Memcached,可以极大地提高数据访问的效率,提升用户体验。 阅读详情

相关推荐

Memcached的使用方法

为更好地理解如何在实际应用中使用Memcached,将通过Python和PHP的示例来演示如何与Memcached交互。Memcached的基本命令集围绕着数据的存储、检索和管理。指定了一个生存时间为3600秒,这意味着数据将在一个小时后自动过期并从缓存中删除。方法,返回与给定键关联的值。在PHP中,使用Memcached的标准方式是通过。Python中使用Memcached最常见的库是。库并创建一个Memcached客户端实例。,这取决于所使用的语言和库的具体实现。方法来删除存储的键。

weixin_43298211的博客 1903

【Memcached】一文详解 Memcached

Memcached 是一个开源的,支持高性能,高并发的分布式内存缓存系统,由 C 语言编写,总共 2000 多行代码。从软件名称上看,前 3 个字符Mem就是内存的意思,而接下来的后面 5 个字符cache就是缓存的意思,最后一个字符d,是daemon的意思,代表的是服务器端守护进程模式服务。

Data · Model · Agent · Repeat 9953

Memcached delete 命令

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

soso1968的博客 840

memcached命令

1、查看命令 get key查看指定key的缓存 2、存储命令 (1)、add key flag expire length新增指定key的缓存 (2)、set key flag expire length设置指定key的缓存。若key存在,则replace替换,否则add新增 key缓存的键 flag标志,要求为一个正整数。用来标识数据原本的格式,以便后期对数据的处理。 expire有效期...

苍穹尘的博客 1823

使用 Wireshark 分析 PPPoE 流量中的 BRAS 名称 AC-Name

客户端发出广播请求,寻找 PPPoE 服务器。: BRAS 服务器响应 PADI 请求,提供服务并包含AC-Name。: 客户端选择一个 BRAS 并发起连接请求。: BRAS 确认连接并分配会话 ID。在这些阶段中,AC-Name是 BRAS 提供的一个关键字段,用于标识服务器名称。

caca_66的博客 2066

告别双导航栏!微信小程序web-view嵌入H5的导航栏隐藏实战(附uniapp代码)

本文详细解析了微信小程序中web-view嵌入H5页面时出现的双导航栏问题,并提供了基于uniapp的完整解决方案。通过环境感知、动态适配和样式隔离等技术手段,实现导航栏的无缝整合,提升用户体验和屏幕空间利用率。文章包含实战代码示例和常见问题排查指南,帮助开发者快速解决这一常见痛点。

weixin_26945061的博客 345

Memcached telnet命令

1. 连接 格式:telnet ip port,如下: telnet 127.0.0.1 11211 2. 退出 quit 3.存储 命令说明 存储命令的格式: 参数说明如下:  set/add/replace                查找关键字             整型参数,客户机使用它存储关于键

Go2Shell 2117

PyCharm 2023最新版安装配置全攻略(附永久激活教程)

本文详细介绍了PyCharm 2023最新版的安装配置全流程,包括版本选择、初始配置、插件生态、工程模板、调试优化及团队协作等关键步骤。特别针对专业版和社区版的功能差异进行对比,帮助开发者高效搭建Python开发环境,提升编码效率与团队协作能力。

p4q5r6s7t的博客 869

[Memcached] telnet命令

[Memcached] telnet命令 一:连接命令 在windows下的cmd或者Linux执行telnet 127.0.0.1 11211 (如果此处报错”telnet不是内部或外部命令”,一定是没有安装telnet客户端请见下文如何开启telnet...

baihuomeng2210的博客 353

国科大学习资料--模式识别与机器学习(黄庆明)--2020期末考试题

国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 国科大学习资料–模式识别与机器学习(黄庆明)–2020期末考试题 ============================================================================================================================================================

无名何许人的博客 2608

【学习系列】SAP RAP 29:如何创建Application Jobs(下)

本文介绍了在SAP系统中通过API创建和使用Application Jobs的方法。主要内容包括:1) 创建RAP应用并通过Action调用API创建Jobs;2) 使用事件驱动方式异步更新Job状态;3) 通过URL跳转到标准日志页面;4) 使用Custom Entity获取Job日志;5) 演示遗留接口IF_APJ_DT_EXEC_OBJECT和IF_APJ_RT_EXEC_OBJECT的使用。文章提供了详细的代码示例,展示了如何通过CL_APJ_RT_API=>SCHEDULE_JOB调度作业,

DeveloperMrMeng的博客 382

Memcached 查找命令

Memcached get 命令 Memcached get 命令获取存储在 key(键) 中的 value(数据值) ,如果 key 不存在,则返回空。 语法: get 命令的基本语法格式如下: getkey 多个 key 使用空格隔开,如下: getkey1key...

chuibian5636的博客 177

Altium Designer(AD)PCB拼版——两种方法教程

本文详细介绍了PCB拼版的设计要点与操作方法。主要内容包括:拼版目的(解决小尺寸夹持问题、提高利用率、降低成本)和三大连接方式(V-CUT、邮票孔、空心连接条)的特点与参数设置;工艺边设计规范(宽度、定位孔、Mark点等要求);拼版尺寸限制与常见错误检查;以及两种具体拼版操作方法(特殊粘贴和拼版阵列),并附有工艺边、定位孔、Mark点的绘制步骤示意图。同时提供了硬件工程师笔试面试相关资源链接。全文系统阐述了PCB拼版的核心技术和操作流程,为电子设计人员提供了实用指导。

XU157303764的博客 7603

memcached的基本命令

memcached的基本命令(安装、卸载、启动、配置相关): -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -d uninstall 卸载memc...

lvwenwen 324

利用dpabi和restplus提取ROI灰质体积学习笔记

目录前言一、数据准备二、利用dpabi提取ROI灰质体积三、restplus提取ROI灰质体积 前言 我利用SPM/CAT12进行灰质、白质、脑脊液分割之后分别已经得到各自的图像文件,在全脑水平已经做了统计分析。如果还想要进一步进行ROI的统计分析或者与量表等临床资料做相关分析,就需要提取ROI灰质体积。几个月没动过这数据了,突然心血来潮想学一下如何提取ROI灰质体积,以此篇博客记录我的提取ROI灰质体积学习过程。提取ROI灰质体积的方法及软件有许多种,本人尝试了dpabi和restplus。 一、数据准备

weixin_52073820的博客 9225

【WRF-Chem教程第四期上】运行 WRF-Chem 模型

完整介绍运行 WRF-Chem 模型的详细步骤

WW、forever的博客 3114

Memcached 命令操作

      对于 Memcached 缓存系统的基本介绍、安装以及应用 之前有一编文章说过,下面主要是对使用Memcached系统的基本命令以及协议作个简单的分析,个人学习的笔记,呵呵。还希望能给需要的筒子一点参考:一、Memcache面向对象的常用接口包括:Memcache::connect -- 打开一个到Memcache的连接Memcache::pco

沉浮 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

memcached协议及命令

<br /> <br />基本 memcached 客户机命令<br />您将使用五种基本 memcached 命令执行最简单的操作。这些命令和操作包括:setaddreplacegetdelete<br /> <br />前三个命令是用于操作存储在 memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用清单 5 所示的语法:<br /><br />清单 5. 修改命令语法 command <key> <flags> <expiration time> <bytes> <va

不精通则死 1314

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Memcached 数据命令详解及应用

  Memcached提供了用于数据操作的命令,可以完成的最基本的数据处理。本文对这些命令进行解析和演示。   tenet   Memcached服务可以通过telnet客户端连接,若没有安装telnet客户端,则先行安装: yum -y install telnet   安装telnet客户端后,根据Memcached服务地址和端口连接服务: telnet 127.0.0.1 11211   连接后,即可输入命令进行Memcached操作。   需要注意的是,telnet连接后,需要两个步骤退出:  

键盘上流淌的日子 664

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

memcached 命令学习总结

1 set 命令 set key flags exptime bytes [noreply] value key:键值 key-value 结构中的 key,用于查找缓存值。 flags:客户机使用它存储关于键值对的额外信息,主要是标记当前存储的数据格式 。 exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远) bytes:在缓存中存储的字节数 noreply(可选): 该参数告知服务器不需要返回数据 value:存储的值(始终位于第二行)(可直接理解为key-value结构中

calvins的专栏 413

(二)memcached安装与命令

强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan 安装 1.下载memcached 2.win+R+cmd打开dos窗口 3.找到下载的memcached地址,输入install命令,见下图第一行,回车。 4.启动mecached,输入start命令,见下图第二行 5.做好上边4步,我们的mem...

至尊宝 2万+

Memcached stats 命令

Memcached stats 命令是监控和调试的核心工具,提供服务器状态、内存使用、命中率等关键指标。常用子命令包括基础统计(stats)、内存分析(stats slabs)和 key 查看(stats cachedump)。通过实时监控命中率、淘汰次数等指标,结合 Prometheus 等工具可实现告警,建议保持命中率>90%,及时处理内存淘汰情况。该命令对性能优化、故障排查至关重要。

likuolei的博客 917

Memcached 存储命令

Memcached set 命令 Memcached set 命令用于将 value(数据值) 存储在指定的 key(键) 中。 如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。 语法: set 命令的基本语法格式如下: setkey...

chuibian5636的博客 274
上一篇: 4-14、FastCGI协议理论讲解
下一篇: memcached分布式集群算法
3333333_
博客等级 码龄16年 236粉丝 996原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值