Memcached总结三:Memcached常用命令及使用说明

一、存储命令

存储命令的格式:

1
2
<command name> <key> <flags> <exptime> <bytes>
<data block>

参数说明如下:

<command name>set/add/replace
<key>查找关键字
<flags>客户机使用它存储关于键值对的额外信息
<exptime>该数据的存活时间,0表示永远
<bytes>存储字节数
<data block>存储的数据块(可直接理解为key-value结构中的value)

1、添加

(1)、无论如何都存储的set

set

这个set的命令在memcached中的使用频率极高。set命令不但可以简单添加,如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。

可以通过“get 键名”的方式查看添加进去的记录:

set_get

如你所知,我们也可以通过delete命令删除掉,然后重新添加。

delete

(2)、只有数据不存在时进行添加的add

add

(3)、只有数据存在时进行替换的replace

replace

 

2、删除

delete

可以看到,删除已存在的键值和不存在的记录可以返回不同的结果。

 

二、读取命令

1、get

get命令的key可以表示一个或者多个键,键之间以空格隔开

get

2、gets

gets

可以看到,gets命令比普通的get命令多返回了一个数字(上图中为13)。这个数字可以检查数据是否发生改变。当key对应的数据改变时,这个多返回的数字也会改变。

3、cas

cas即checked and set的意思,只有当最后一个参数和gets所获取的参数匹配时才能存储,否则返回“EXISTS”。

cas

 

三、状态命令

1、stats

stats

 

2、stats items

statsitems
执行stats items,可以看到STAT items行,如果memcached存储内容很多,那么这里也会列出很多的STAT items行。

 

3、stats cachedump slab_id limit_num

我们执行stats cachedump 1 0 命令效果如下:

statscachedump

这里slab_id为1,是由2中的stats items返回的结果(STAT items后面的数字)决定的;limit_num看起来好像是返回多少条记录,猜的一点不错, 不过0表示显示出所有记录,而n(n>0)就表示显示n条记录,如果n超过该slab下的所有记录,则结果和0返回的结果一致。

statscachedump1
通过stats items、stats cachedump slab_id limit_num配合get命令可以遍历memcached的记录。

 

4、其他stats命令

如stats slabs,stats sizes,stats reset等等使用也比较常见。

statsother

 

四、其他常见命令

1、append

append

在现有的缓存数据后添加缓存数据,如现有缓存的key不存在服务器响应为NOT_STORED。

 

2、prepend

和append非常类似,但它的作用是在现有的缓存数据前添加缓存数据。

prepend

 

3、flush_all

flush_all

该命令有一个可选的数字参数。它总是执行成功,服务器会发送 “OK\r\n” 回应。它的效果是使已经存在的项目立即失效(缺省),或在指定的时间后。此后执行取回命令,将不会有任何内容返回(除非重新存储同样的键名)。 flush_all 实际上没有立即释放项目所占用的内存,而是在随后陆续有新的项目被储存时执行(这是由memcached的懒惰检测和删除机制决定的)。

flush_all 效果是它导致所有更新时间早于 flush_all 所设定时间的项目,在被执行取回命令时命令被忽略。

4、其他命令

memcached还有很多命令,比如对于存储为数字型的可以通过incr/decr命令进行增减操作等等,这里只列出开发和运维中经常使用的命令,其他的不再一一举例说明。

4.1 incr和decr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql.zip免安装版配置

MYSQL ZIP免安装版配置 1. 下载MySQL 选择自己想要的.本次安装.我使用的是mysql-5.6.17-winx64 地址:http://dev.mysql.com/downloads/mysql/ 2. 解压zip 文件. 在mysql 的根目录下找到 my-default.ini 复制出一个 my.ini 文件, 根据你需要的位置修改 my.ini 文件 a&#xf…

Html中CSS之去除li前面的小黑点,和ul、LI部分属性方法

https://blog.csdn.net/business122/article/details/7973638 <style type"text/css"> list-style:none; </style>

Day3:集合

一、集合的定义及特性 1.集合的特性 1.1 去重&#xff0c;把一个列表变成集合&#xff0c;就自动去重了 1.2 关系测试&#xff0c;测试两组数据之间的交集、差集等关系 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan list_1 [1,3,5,9,7,5,4] set_1 …

解决SQL命令行回退的问题

场景 在linux或者aix上安装后Oracle后&#xff0c;在SQL命令行下无法通过键盘的退格键回退&#xff0c;如下 解决方法 安装软件 # rpm -ivh rlwrap-0.41-1.el6.x86_64.rpm warning: rlwrap-0.41-1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEYPrep…

p740备件号

http://www.gzyuxing.net/machine/show-113.htmlhttp://www.fuyuanit.cn/index.php?mProduct&ashow&id258http://www.fuyuanit.cn/index.php?mProduct&ashow&id258扩展柜如何确定:标签上一般有字样&#xff0c;到ibm knowledge center搜索关键字 5877 parts即…

Android listview addHeaderView 和 addFooterView 详解

addHeaderView()方法&#xff1a;主要是向listView的头部添加布局addFooterView()方法&#xff1a;主要是向listView的底部添加布局 需要注意的是添加布局的时候应该添加从父容器开始添加&#xff0c;而不能直接添加父容器中的子控件。例如&#xff1a;从一个xml布局文件中添加…

python教程--__init_.py的作用

__init__.py 的作用 python的每个模块的包中&#xff0c;都有一个__init__.py文件&#xff0c;有了这个文件&#xff0c;我们才能导入这个目录下的module。那么&#xff0c;__init__.py还有什么别的功能呢&#xff1f;其实&#xff0c;__init__.py里面还是可以有内容的&#xf…

在HTML中怎么去掉超链接的下划线?

<style type"text/css">a {text-decoration: none}</style> https://zhidao.baidu.com/question/253614370.html

ASP.NET AJAX Timer Trouble? Location is key.

If you’ve made much use of the ASP.NET AJAX Timer control, you may have noticed that it can behave somewhat unexpectedly. In this post, I’m going to take a closer look at how the Timer works and the most significant factor that influences it: Location.…

linq 分组求和的一般方法

//var query from d in expenseApplyModel.ApplyBillList.AsEnumerable() // group d by d.ExpenseItemID into g // select new // { // ExpenseItemID g.Key, // ExpenseAmount g.Sum(t > t.ExpenseAmount) // };//分组求和新添加的费用项目 var query expenseApplyMo…

在屏幕上打印杨辉三角

这就是杨辉三角&#xff0c;也叫贾宪三角。这于我们现在的学习联系最紧密的是2项式乘方展开式的系数规律。如图&#xff0c;在贾宪三角中&#xff0c;第3行的第三个数恰好对应着两数和的平方公式依次下去。 杨辉三角是一个由数字排列成的三角形数表&#xff0c;一般形式如下&am…

jquery 获取 A 标签 超级链接属性

var icon_nav_href1 $("#indexiconnavid>li:nth-child(1) a").attr("href"); //抓取当前url

apache ab 测试 apr_socket_connect(): 由于目标机器积极拒绝 无法连接

遇到这种情况一般是你开的并行数量太多了。。。例如:ab -c 1000 -n 10000 http://localhost/index.html 如此大的请求就会挂掉&#xff0c;不过还是有补救措施的&#xff0c;可以通过增加并发数上限解决这个问题&#xff0c;步骤如下&#xff1a; 1、停止Apache服务&#xff1b…

maven 结合idea入门

reference : http://www.cnblogs.com/ramantic/p/7735323.html转载于:https://www.cnblogs.com/tangchangcai/p/7735690.html

ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

1 imageView.setScaleType(ImageView.ScaleType.FIT_XY ); 1 这里我们重点理解ImageView的属性android:scaleType&#xff0c;即ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ImageView.ScaleType / an…

CSS如何让DIV的宽度随内容的变化

让div根据内容改变大小 div{ width:auto; display:inline-block !important; display:inline; } https://www.cnblogs.com/limeiky/p/6289307.html

第一幕 基础起步

1、选择版本python2 or python3 话不多说 python3 2、不同操作系统下的安装配置python 2.1、Linux系统一般默认安装有python&#xff0c;打开终端窗口检查是否安装python&#xff0c;在终端输入python --version 或 python3 --version&#xff0c;如果有则会显示python版本&am…

footer置底的几种方式

/* 通过calc()函数让内容区块自动伸缩 */ .my-body{min-height: calc(71.7vh - 80px); } footer{height:50px; } 参考 :https://www.jianshu.com/p/6efe2c76a2dd

JAVA流程控制学习总结

1、块作用域语句&#xff08;复合语句&#xff09;即用一对花括号将若干语句括起来&#xff0c;目的是从语法上将多条语句解释为一条语句。这里要注意一点&#xff0c;java语言中块作用域语句可以嵌套&#xff0c;但不可以在嵌套的两层中声明同名的变量。举个错误的例子&#x…

如何在MATLAB下把模糊推理系统转化为查询表(转载)

如何在MATLAB下把模糊推理系统转化为查询表(原创) http://foundy.blog.163.com/blog/static/2633834420090212202156/?modeedit 在SIMULINK里把模糊逻辑生成查寻表&#xff08;原创&#xff09; http://foundy.blog.163.com/blog/static/2633834420100150439615/ 转载于:ht…