最近在面试的过程中,公司需要招聘一些中级开发人员。所以在面试的过程中,我们都会问redis有哪些淘汰策略,日常工作中是如何使用的。但是来的99%的研发人员都说是系统默认的。我当时那个汗啊。说实话现在很多30多40多的开发人员,很多除了curd的工作之外,其他的知识点寥寥无几。所以如何在市场上竞争呢?
言归正传,我们今天这篇文件给大家介绍下redis的淘汰策略及如何配置。
一、redis的淘汰策略有哪些?
1.noeviction:对于写请求不再提供服务,直接返回错误(DEL请求和部分特殊请求除外) 2.allkeys-lru:从所有key中使用LRU算法进行淘汰(LRU算法:即最近最少使用算法) 3.volatile-lru:从设置了过期时间的key中使用LRU算法进行淘汰 4.allkeys-random:从所有key中随机淘汰数据 5.volatile-random:从设置了过期时间的key中随机淘汰 6.volatile-ttl:在设置了过期时间的key中,淘汰过期时间剩余最短的
在redis系统中,默认的redis淘汰策略是:noeviction,但是在业务系统里面,我们主要配置的还是lru。即:allkeys-lru和volatile-lru。
二、在redis中,我们如何配置想用的策略呢?
第一种方式、修改配置文件redis.conf,配置如下值:
maxmemory-policy allkeys-lru
备注:第一种方式修改后需要进行重启redis。
第二种方式、直接在命令行里面进行修改,修改命令如下:
config set maxmemory-policy allkeys-lru
最后我们统一验证一下,使用命令进入到redis
./redis-cli config get maxmemory-policy
还没有评论,来说两句吧...