MemCached add命令的用法详解
来源:互联网 发布:知乎注册不了为什么 编辑:程序博客网 时间:2024/06/08 08:46
增加: 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/
- MemCached add命令的用法详解
- Memcached的命令详解
- memcached--存储命令--add
- memcached 的一些基本命令用法
- 获取memcached服务器信息的命令详解
- memcached 启动命令详解
- memcached stats命令详解
- memcached 命令操作详解
- git add用法详解
- Git add命令详解
- route add命令详解
- git add命令详解
- Git add 命令详解
- route add命令详解
- memcached协议及命令详解
- scp命令的用法详解
- scp命令的用法详解
- scp命令的用法详解
- 【目标检测:Hough Forest】hough forest目标检测原理(一)
- 解决WordExcel启动提示向程序发送命令出现问题
- 文章标题
- 【JZOJ4821】打膈膜
- LeetCode 66 - Plus One
- MemCached add命令的用法详解
- UGUI之Inputfield在安卓中设置默认调用中文输入法和记录输入法
- HI3520环境搭建
- putty 报server unexpectedly closed network connection错误
- 指针问题:C语言中 int*p[4] 和 int(*p)[4]的区别 等等
- Unable to instantiate default tuplizer [org.hibernate.tuple.component.PojoComponentTuplizer]
- Linux基本命令总结及学习笔记
- Hololens入门之Sharing(HoloToolkit中SharingService.exe及SharingClient.dll的编译)
- struts2 文件上传 限制大小、格式