MemCached add命令的用法详解

  增加: add 往内存增加一条数据

  命令格式:

  add key flag expiretime bytes\r\n

  data\r\n //跨行所加的一些数据

  1)key: 给这个值起一个固定的名字

  //学过计算机基础和学过计算机数据库结构的人知道,计算机有个比较常用的结构叫hash,这是数据结构中最重要的数据结构。key和value就是通过hash,hash有一个自己独造的函数,通过key计算某个固定的值,将value存到这个key计算的固定的值里面,当我们通过get取得时候,通过key我们就可以很快的再内存中找到我们当时存的key所对应的value的值,所以速度非常快

  2)flag: 标志 是一个整数

  3)expire 有效期

  //过期时间

  4)length 添加的缓存的长度

  flag的意义

  memcache 基于简单的文本协议,传输的东西,理解成字符串来存储

  array() object()

  有经验的同学会将array() object() 转成json_encode()这个字符串,存到 memcached里边。那怎么来区分当时是存的是字符串还是array()或object()呢?这就是flag的意义。

  例子:

  add title 1 0 16

  welcome to maizi

  Stored

  示例:

  如下我们增加一个web 过期的标志是0,过期的时间是10秒,长度是5

  可以发现,过了时间就没有了

  expire 有效期

  设置缓存的有效期有三个方式

  1)设置它的秒数,从当前的时间算起,到第n秒失效。比如失效时间是10秒,就是从当前的时间算,过来10秒你再去get这个web的时候,它是没有的。

  2)使用时间戳的方式,就是指定明天某个时候失效,这个场景主要运用于抢购,如抢购手机,希望明天的这个时候缓存失效。

  这个是当前unix下的时间戳

让它在当前时间戳的99秒后失效

  3)将expire设置为0,设置为0后就不自动失效,有的人以为这个是一个永久数据,这种理解是错误的。这里说一种极端的方式,比如memcache挂了,再重启memcache服务,但这里面的数据就都不会存在了。我们在编译memcache的时候,使用了一个最长的常量,默认时间为30天,所以即使你设置为0,30天以后,它的数据也会失效。还有一种情况是可能我等不到这30天,就会被新的数据挤出去,这个就是老数据被踢的这个现象。

  这里将expire设置为0,30后会自动失效,如果不失效也会被其他数据挤掉。

原文链接:http://www.maiziedu.com/wiki/memcache/add/

时间: 2024-11-07 17:15:31

MemCached add命令的用法详解的相关文章

jar命令的用法详解

本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看

[转] DOS命令for用法详解

[From] http://www.jb51.net/article/31284.htm for帮助文档 对一组文件中的每一个文件执行某个特定命令. FOR %variable IN (set) DO command [command-parameters] %variable 指定一个单一字母可替换的参数. (set) 指定一个或一组文件.可以使用通配符. command 指定对每个文件执行的命令. command-parameters 为特定命令指定参数或命令行开关. 在批处理程序中使用 F

jar命令的用法详解(转载)

本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看

Windows PowerShell命令历史用法详解

(一)获取所有包含"history"关键字的cmdlet 使用PS C:\< Get-Command -Name *history* -CommandType cmdlet,结果如图. (二)通过上图查找到history相关的命令后,我们可以再使用get-history来获取命令的历史记录,如图. (三)可以通过使用Get-Alias -Definition Get-History的方式来获取该cmdlet的别名,如图. (四)如何通过查看到的命令历史记录信息来运行历史命令呢?

Linux下nl命令的用法详解

Linux中nl命令和cat命令很像,不过nl命令会打上行号,属于比较不常用的命令,下面随小编一起来了解下这个鲜为人知的nl命令吧. nl命令在linux系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能. 1.命令格式: nl [选项]... [文件]... 2.命令参数: -b :指定行号指定的方式,主要有两种: -b a :表示不论是否为空行,也同样列出

cat命令-linux常用命令cat用法详解

cat命令用于连接文件打印到输出设备中cat是linux的基本文本输出命令,通常用于查看文件内容.语法cat (参数)(选项)-n 或 --number:由 1 开始对所有输出的行数编号.-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号.-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行.-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外.-E 或 --show-e

Ansible系列命令用法详解与使用

Ansible系列命令用法与使用 在上一个文章中已经完成了Ansible的安装,这片文章主要的用来记录Ansible一些命令的用法详解及其使用场景.好了非话不多说,'上菜吧'. Ansible命令行执行方式有Ad-hoc.Ansible-playbook两种方式.Web化执行方式其官方提供了付费产品Tower(10台以内免费),个人的话可以基于API开发类似的Web化产品.此篇文章主要针对于Ad-hoc.Ansible-playbook两种方式做详细介绍. 什么是Ad-hoc.Ansible-p

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至: linux dd命令使用详解 dd 的主要选项: 指定数字的地方若以下列字符结尾乘以相应的数字: b=512, c=1, k=1024, w=2, xm=number m if=file 输入文件名,缺省为标准输入. of=file 输出文件名,缺省为标准输出. ibs=bytes 一次读入 bytes 个字节(即一个块大小为 bytes 个字节). obs=b

Linux tar 命令参数及用法详解--Linux打包备份命令

linux tar命令参数及用法详解--linux打包备份命令 tar命令 tar - tar 档案文件管理程序的 GNU 版本.下面将逐个介绍其含义tar [-cxtzjvfpPN] 文件与目录 ....常用参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩.-z :是否同时具有 gzip 的属性?亦即是否需