问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Memcached常用命令以及使用说明详解

发布网友 发布时间:2023-04-10 08:32

我来回答

1个回答

热心网友 时间:2023-10-06 15:14

一 存储命令

  存储命令的格式

? <mand name> <key> <flags> <exptime> <bytes> <data block>

  参数说明如下

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

添加

  ( ) 无论如何都存储的set

  

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

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

  

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

  

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

  

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

  

 

删除

  

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

二 读取命令

get

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

  

gets

  

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

cas

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

  

三 状态命令

stats

  

stats items

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

stats cachemp slab_id limit_num

  我们执行stats cachemp 命令效果如下

  

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

   通过stats items stats cachemp slab_id limit_num配合get命令可以遍历memcached的记录

其他stats命令

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

  

四 其他常见命令

append

  

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

prepend

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

  

flush_all

  

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

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

其他命令

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

补充一则 简单认识 net framework中的几种缓存

  web站点中缓存的重要性毋庸置疑 我想很多asp net开发人员在开发web应用系统的时候优先考虑使用的缓存并不是第三方缓存解决方案(比如 分布式缓存memcached redis等等) 而应该是 net framework已经提供的多种缓存解决方案 下面结合自己的开发经验谈谈对 net framework中缓存的认识

   System Web Caching Cache

  估计大部分做过asp net开发的人都用过这个命名空间下的缓存 我们可以直接使用HttpContext Current Cache实例而不 用实例化 当然这个命名空间下的Cache类是允许您实例化的 需要定制自己的缓存系统的当然可以完全自己控制如何初始化这个类 我在园子里看到过有很多 文章介绍Cache的CRUD辅助类库大多数都是针对System Web Caching Cache

  需要说明的是 我们还可以通过该命名空间下的HttpRuntime Cache实现web 控制台 winform等不同表现形式下的缓存 而且 完全无需自己实例化 HttpRuntime Cache是之前个人开发中使用比较多的一个类 现在比较偏爱 net framework 中的增强型的缓存类MemoryCache

   Output Cache

  众所周知 输出缓存主要分页面输出缓存和页面部分缓存 说白了 就是缓存整个页面的或者部分 本来没什么值得讨论的 但是最近看到的这篇博客才恍然发现 想不到使用它还真是大有讲究 我以前怎么就没有发现这个问题呢?看来发现问题和解决问题的能力同样重要 有时候前者甚至更重要啊

   System Runtime Caching

  现在个人开发中使用最多的类MemoryCache出自这个命名空间 使用前需要引用using System Runtime Caching MemoryCache继承自ObjectCache IEnumerable IDisposable 其中ObjectCache是个抽象类 用过MemoryCache的人都知道 这个MemoryCache有一个属性叫 Default 通常可以像下面这样使用

  private static ObjectCache memCache = MemoryCache Default;

  当然我们也完全可以通过public MemoryCache(string name NameValueCollection config = null)构造函数初始化缓存对象

  接着我们可以在web config文件中配置每个MemoryCache实例运行的内存使用配额方案和配额检查周期 下面示例参考MSDN

  <system runtime caching> <memoryCache> <namedCaches> <add name=Default cacheMemoryLimitMegabytes=" " pollingInterval=" : : "/> </namedCaches> </memoryCache> </system runtime caching>

lishixin/Article/program/PHP/201311/21342
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 联通上网流量单位换算表是什么意思 大熊猫为什么受欢迎 《怪物猎人》哪款好玩? 怪物猎人崛起和狂野之心哪个好玩 怪物猎人曙光电锯需要破坏王吗 起_的结构起_的结构是什么 北群空的结构北群空的结构是什么 离逖的结构离逖的结构是什么 光闪的拼音狐光闪的拼音是什么 光秃的拼音狐光秃的拼音是什么 光傥的拼音狐光傥的拼音是什么 光污染的拼音狐光污染的拼音是什么 光趟的拼音狐光趟的拼音是什么 光纬的拼音狐光纬的拼音是什么 逶陀的结构逶陀的结构是什么 逶迂的结构逶迂的结构是什么 _将的网络解释_将的网络解释是什么 潜在的网络解释潜在的网络解释是什么 善终的网络解释善终的网络解释是什么 寿终的网络解释寿终的网络解释是什么 memcached 的flushAll,是不是不清除数据 桂海高速公路介绍? 百隆高速公路介绍? 德威D25系列发动机参数配置以及适配机型有哪些? 江淮骏铃v5国六搭配的发动机型号 国六德威d25能拉几吨 欠债被威胁恐吓怎么办 欠款遇到恐吓性质怎么办? 借钱不还还反遭威胁怎么办 大型市政管道疏通车几点下班 冷车启动后踩离合器异响什么原因 冷车启动为什么会发出咯吱咯吱的声音新车早上冷车启 贵阳乌当区有个西点学校有人去过吗? 贵阳新东方的西点专业怎么样? 贵阳欧米奇西点学校在贵阳哪个位置啊?离北站有多远? 贵阳烹饪学校学费多少? 贵阳哪里有专业的西点学校? ad316怎么使用双面打印 购买电竞椅要注意哪些细节电竞椅应该满足哪些需求 Victorage电竞椅的品牌定位是怎样的?