目录
一、前言
通过一些特定命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间,在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间为0的键。
二、设置过期时间
Redis有四个不同的命令可以用于设置键的生存时间或过期时间:
- EXPIRE
- PEXPIRE
- EXPIREAT
- PEXPIREAT
三、保存过期时间
redisDb结构的 expires字典保存了数据库中所有键的过期时间,我们称这个字典为过期字典
- 过期字典的键是一个指针,这个指针指向键空间中的某个键对象(也即是某个数据库键)
- 过期字典的值是一个long long类型的整数,这个整数保存了键所指向的数据库键的过期时间一个毫秒精度的UNIX时间戳。
typedef struct redisDb{
//...
dict* expires;//过期字典,保存着键的过期时间
//...
}redisDb;
例如: