redis map 过期时间_redis的过期时间和过期删除机制

本文详细介绍了Redis中设置、保存和移除键的过期时间,以及过期键的删除策略,包括立即删除、惰性删除和定时删除。Redis采用的是惰性删除与定时删除结合的方式,以平衡内存和CPU的使用。
摘要由CSDN通过智能技术生成

一:设置过期时间

redis有四种命令可以用于设置键的生存时间和过期时间:

EXPIRE <KEY> <TTL> : 将键的生存时间设为 ttl 秒    PEXPIRE <KEY> <TTL> :将键的生存时间设为 ttl 毫秒EXPIREAT <KEY> <timestamp> :将键的过期时间设为 timestamp 所指定的秒数时间戳PEXPIREAT <KEY> <timestamp>: 将键的过期时间设为 timestamp 所指定的毫秒数时间戳.

二:保存过期时间

那么redis里面对这些key的过期时间和生存时间的信息是怎么保存的呢??
答:在数据库结构redisDb中的expires字典中保存了数据库中所有键的过期时间,我们称expire这个字典为过期字典。
(1)过期字典是一个指针,指向键空间的某个键对象。
(2)过期字典的值是一个longlong类型的整数,这个整数保存了键所指向的数据库键的过期时间–一个毫秒级的 UNIX 时间戳。

下图是一个带过期字典的数据库例子:

564dceeba09f12ff20bd91db49f5f007.png

过期字典是存储在redisDb这个结构里的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值