ceacer 2 已发布 2月2号 分享 已发布 2月2号 Redis提供了以下六种数据淘汰策略: noeviction(默认策略):这是Redis的默认淘汰策略。当内存不足以容纳新写入数据时,新写入操作会报错。只有在没有设置淘汰策略或者设置的淘汰策略无效时,才会使用这个策略。需要注意的是,这种策略并不会淘汰任何已经存在的数据。 allkeys-lru:这个淘汰策略会在所有key中使用LRU(Least Recently Used,最近最少使用)算法进行淘汰。也就是说,如果某个key在最近一段时间内没有被访问过,那么它就有可能在内存不足时被淘汰。 volatile-lru:这个淘汰策略与allkeys-lru相似,但它只会在设置了过期时间的key中使用LRU算法进行淘汰。 allkeys-random:这个淘汰策略会在所有key中随机淘汰数据。 volatile-random:这个淘汰策略会在设置了过期时间的key中随机淘汰数据。 volatile-ttl:这个淘汰策略会在设置了过期时间的key中,淘汰剩余过期时间最短的key。也就是说,如果有多个key设置了过期时间,那么这些key中剩余过期时间最短的那个key会被淘汰。 在使用这些淘汰策略时,需要注意以下几点: volatile-lru、volatile-random和volatile-ttl这三种策略只会在设置了过期时间的key中进行淘汰,如果没有设置过期时间,那么这三种策略将不会生效。 allkeys-lru和allkeys-random这两种策略会涉及到所有key,因此在内存紧张时可能会对业务造成较大影响,需要谨慎使用。 在使用淘汰策略时,需要根据实际情况选择最适合的淘汰策略,以确保数据的安全性和系统的稳定性。 此外,Redis还支持自定义淘汰策略,用户可以根据自己的需求编写淘汰策略函数,并在Redis配置文件中指定该函数。这样,当内存不足时,Redis就会调用用户自定义的淘汰策略函数来决定淘汰哪些数据。 评论链接 在其他网站上分享 更多分享选项...
推荐帖
创建账户或登录以发表评论
您需要成为会员才能发表评论
创建一个帐户
在我们的社区注册一个新账户。很简单!
注册新账户登入
已有账户?在此登录
立即登录