### 添加数据
~~~
add key 是否压缩(0|1) 缓存时间 数据的长度
~~~
key :键的名称
是否压缩:0表示不压缩,1表示要压缩,压缩的目的让数据变小,存储更多的数据。
缓存时间:失效时间,表示过了该时间数据就失效。
数据的长度:单位是字节.
**注意:在使用add添加数据时,如果该键已经存在,则添加失败,不会覆盖。**
### 修改数据
~~~
replace key 0|1 缓存时间 数据的长度
~~~
**注意:如果键不存在,则修改失败。**
### 设置数据
~~~
set key 0|1 缓存时间 数据长度
~~~
**注意:如果键已经存在,则是修改,如果键不存在,则是添加。**
### 删除数据
~~~
delete key
~~~
flush_all 是删除所有的缓存项
### 增加指定的值
~~~
incr key number
~~~
### 减少指定的值
~~~
decr key number
~~~
比如有1000件商品,需要在60秒内抢购。一开始就设置number的值为1000 ,当用户抢购时执行decr number ,如果执行后返回的值大于0则说明抢购成功 .
### 状态命令
~~~
stats
~~~
![](https://box.kancloud.cn/3de407ebfca8f311edbc49d93a4406d4_717x382.png)
通过查看状态的参数,主要是计算命中率 :
get_hits/cmd_get ====得出一个命中率,命中率越高越好,如果命中率比较低,则需要调整缓存项。
### 缓存周期的问题
缓存周期有两种设置方式:
1. 时间间隔(秒数)
2. 到期的时间戳,必须大于当前的时间戳才有效。
思考:时间间隔和到期的时间戳都是整数,如何区分是时间戳还是时间间隔。
如果使用时间间隔,则不能超过 2592000秒(30天)。
如果缓存时间小于2592000秒则是时间间隔,如果大于此值,小于当前的时间戳,则设置无效。
案例1:比如我们想要设置缓存时间为10天,如何设置
设置方式有两种:
(1)时间间隔10*24*3600秒
(2)到期的时间戳:time()+10*24*3600
案例2:比如我们想要设置缓存时间为40天,如何设置,
只能使用到期的时间戳
time()+40*24*3600
**注意:如果此值设置为0表明此数据永不过期**