Redis过期了,它又在哪里(redis 过期了还在吗)

Redis(Remote Dictionary Server)是一个开源、高效、实时、可扩展的分布式内存数据库,已经成为流行的高性能缓存数据库,在各种大型应用系统中都有广泛的应用。

Redis的一大优势就是支持数据的过期处理,从而节省内存的使用空间。当Redis值的过期时间到了,那么在Redis中这个值已经不存在了。

Redis主要把过期数据存储到一个“已过期”集合里。如果一个Redis key过期,那么Redis会自动地将其添加到“已过期”集合中。在(以10为例)每10秒,Redis就会到这个已过期集合中查找哪个Key需要删除,比如,示例代码如下:

// 设置 key 的过期时间

// time 是秒单位

// expire(“key”,time);

“`

RedisScript redisScript=new RedisScript();

Jedis jedis=new Jedis(“localhost”);

String script=”if redis.call(‘exists’, KEYS[1]) == 1 then return redis.call(‘expire’, KEYS[1], ARGV[1]) else return 0 end”;

Object result=redisScript.eval(jedis,script, keys,time);

“`

然后,Redis在删除这个key之前会对对应的过期集合中的key进行删除行为,比如del key。在Redis中,过期数据已经不存在了。

Redis支持数据过期,当Redis检测到一个值的过期时间到了,它会把这个值从内存中删除,并将其加入到已过期集合中。当过期的key被被del的时候,Redis中的数据就不存在了。


数据运维技术 » Redis过期了,它又在哪里(redis 过期了还在吗)