保存数据
语法:
1 | add 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. 不自动失效.
1:编译 memcached 时,指定一个最长常量,默认是 30 天.所以,即使设为 0,30 天后也会失效.
2:可能等不到 30 天,就会被新数据挤出去.
替换数据
语法
1 | replace key flag expire length |
操作名 | 解释 |
---|---|
add | 仅当存储空间中不存在键相同的数据时才保存 |
replace | 仅当存储空间中存在键相同的数据时才保存 |
set | 与add和replace不同,无论何时都保存 |
删除数据
1 | delete key [time seconds] |
删除指定的 key.
如加可选参数time,则指删除key,并在删除key后的time秒内,不允许get,add,replace 操作此 key.
获取数据
1 | get key |
返回 key 的值
增减操作
1 | incr/decr key num |
增和减是原子操作,但未设置初始值时,不会自动赋成 0。因此,应当进行错误检查,必要时加入初始化操作
统计操作
1 | stats |
清空操作
1 | flush_all |
清空所有的存储对象