Redis缓存淘汰策略

Redis是基于内存key-value键值对的内存数据库,我们安装完数据库之后,内存往往会受到系统内存大小的限制,我们也可以配置redis能使用的最大的内存大小

1.配置Redis内存

(1)通过配置文件修改

我们可以通过配置文件修改,安装完redis之后我们可以在redis根目录中找到redis.conf文件,在配置文件中添加一下参数就可以设置redis的内存大小了

maxmemory 100mb    //指定最大内存为100mb

(2)进入客户端修改

在服务器上输入redis-cli之后进入redis客户端,通过命令动态修改redis内存大小

//设置Redis最大占用内存大小为100M
127.0.0.1:6379> config set maxmemory 100mb
//获取设置的Redis能使用的最大内存大小
127.0.0.1:6379> config get maxmemory

如果不设置最大内存大小或者设置最大内存大小为0,在64位操作系统下不限制内存大小,在32位操作系统下最多使用3GB内存

2.redis内存淘汰策略

我们设置完redis内存之后,我们就像里面放数据,但是内存总有满的时候,满的时候redis又是怎么处理的呢

首先,我们每进行一次redis操作的时候,redis都会检测可用内存,判断是否要进行内存淘汰,当超过可用内存的时候,我们就会使用对应策略,默认是no-envicition

1.no-envicition:我们先了解默认的,该策略对于写请求不再提供服务,会直接返回错误,当然排除del等特殊操作

2.allkeys-random:从redis中随机选取key进行淘汰

3.allkeys-lru:从redis中选取使用最少的key进行淘汰

4.volatile-random:从redis中设置过过期时间的key,进行随机淘汰

5.volatile-ttl:从redis中选取即将过期的key,进行淘汰

6.volatile-lru:从redis中设置过过期时间的key中,选取最少使用的进行淘汰

我们自己可以命令查看当前redis使用的淘汰策略

config get maxmemory-policy    //获取当前内存淘汰策略
config set maxmemory-policy valatile-lru  //通过命令修改淘汰策略

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值