Redis的三种过期删除策略是:1、惰性删除;2、定时删除;3、周期性删除。惰性删除指当我们对一个设置了过期时间的键进行访问时,Redis会先检查该键是否过期,如果已经过期,则删除该键,不返回任何数据。定时删除指在设置键的过期时间的同时,创建一个定时器,当键到达过期时间时,定时器触发,删除该键。周期性删除指Redis每隔一段时间,就随机测试一些键是否过期,如果过期则删除。
1、惰性删除
惰性删除是指当我们对一个设置了过期时间的键进行访问时,Redis会先检查该键是否过期,如果已经过期,则删除该键,不返回任何数据。如果未过期,则正常返回数据。这种策略的优点是简单高效,只在需要时才进行检查,不会占用过多的CPU资源。但是,缺点也很明显,如果有大量的过期键没有被访问到,它们将一直存储在内存中,占用大量的内存资源。
2、定时删除
定时删除是指在设置键的过期时间的同时,创建一个定时器,当键到达过期时间时,定时器触发,删除该键。这种策略可以保证过期键被及时删除,不会占用过多的内存资源。但是,如果有大量的键需要设置过期时间,会创建大量的定时器,占用大量的CPU资源。
3、周期性删除
周期性删除是指Redis每隔一段时间,就随机测试一些键是否过期,如果过期则删除。这种策略是对前两种策略的折衷,既不会像定时删除那样占用过多的CPU资源,也不会像惰性删除那样占用过多的内存资源。
延伸阅读:
Redis的概念
Redis(Remote Dictionary Server)是一款开源的键值存储系统,它支持各种不同类型的数据结构,如字符串、列表、集合、有序集合、哈希等。Redis由于其高性能和丰富的数据类型,常被用于缓存、消息队列、排行榜等场景。
文章标题:redis的三种过期删除策略是什么,发布者:Flawy,转载请注明出处:https://worktile.com/kb/p/59317