扫码关注公众号

Redis的数据过期策略
02-27
57观看
01

Redis怎么执行过期策略?

Redis所有的数据结构都可以设置过期时间,时间一到,就会自动删除。你可以想象Redis内部有一个死神,时刻盯着所有设置了过期时间的key,寿命一到就会立即收割。你还可以进一步站在死神的角度思考,会不会因为同一时间太多的key过期,以至于忙不过来。同时因为Redis是单线程的,收割的时间也会占用线程的处理时间,如果收割的太过于繁忙,会不会导致线上读写指令出现卡顿。过期策略分为:1.惰性删除策略。在客户端访问这个key的时候,redis对key的过期时间进行检查,如果过期了就立即删除。2.定时扫描策略。Redis默认会每秒进行十次过期扫描,过期扫描不会遍历过期字典中所有的key,而是采用了一种简单的贪心策略。从过期字典中随机20个key;删除这20个key中已经过期的key;如果过期的key比率超过1/4,那就重复步骤1;同时,为了保证过期扫描不会出现循环过度,导致线程卡死现象,算法还增加了扫描时间的上限,默认不会超过25ms。

来自:redis-redis
02

下面关于Redis集群数据分区规则,错误的说法是()

正确答案是A这道题考察的是集群数据的分区规则,由于哈希的随机性,哈希分区基本可以保证数据分布均匀,因此在比较哈希分区方案时,重点要看增减节点对数据分布的影响,所以选A;B选项、C选项、D选项都是正确的说法。

来自:redis-redis
03

请说说Redis过期策略

1、设置过期时间中最近最少使用--volatile-lru2、设置过期时间中最不常用---volatile-lfu3、设置过期时间中即将过期--volatile-ttl4、设置过期时间中随机删除--volatile-random5、当内存不足时,不足以纳入新数据移除最近最少使用allkeys=lru6、当内存不足时,不足以纳入新数据移除最不常用的keyallkeys=lfu7、数据集中随机挑选allkeys-random8、no-eviction

来自:redis-redis
课程
专栏
【校招VIP】Redis基础知识入门
适合新手
csdn
redis
【校招VIP】Redis高性能、高可用、可扩展的生产级架构如何设计?
高频面试题
知乎
redis
【校招VIP】java开源框架之redis
小拿
redis
开源框架-redis-redis
3专栏
1课程
3 试题