redis的key过期策略;主动/被动

概述

redis可以设置key的过期时间,但这个key的过期时间不一定准确。
因为redis执行key过期的策略有2种
主动(定时)
被动(get的时候判断)

主动

redis会给设置过期时间的key维护一个字典,然后定时轮询这个字典(每秒10次),随机抓取一批key(20个),删除其中过期的key

如果此时过期key的比例超过1/4,则重复这个动作。
扫描的超时时间默认为25ms

并且这个定时任务和读写请求是共用一个线程的,所以大批的key同时过期,会让客户端响应时间过长。可以给这些key的过期时间设置一些偏移量避免这个问题。

被动

在客户端get这个key的时候,会检查key是否过期,如果过期则删除key

你可能感兴趣的:(redis,redis,数据库,缓存)