架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 866|回复: 0

[Redis] Redis 内存八种淘汰策略

[复制链接]
发表于 2023-7-12 21:08:41 | 显示全部楼层 |阅读模式
Redis 可以通过 maxmemory 参数来限制内存的使用,默认值是 0,也就是不限制内存的使用。当数据内存达到 maxmemory 时,便会触发redis的内存淘汰策略。该参数通常设定为其物理内存的四分之三。

Redis MISCONF Redis is configured to save RDB snapshots
https://www.itsvse.com/thread-9650-1-1.html

常见单位配置

maxmemory 100 裸数字情况:单位是字节。
maxmemory 1K   K:代表1000字节。
maxmemory 1KB KB:代表1024字节。
maxmemory 1M   M:代表1000000字节。
maxmemory 1MB MB: 代表1048576字节。
maxmemory 1G   G:代表1000000000字节。
maxmemory 1GB  GB: 代表1073741824字节。
限制 redis 最大内存 maxmemory 参数一般搭配 maxmemory-policy 内存淘汰策略一起使用。

maxmemory-policy 八种淘汰策略

  • noeviction:(安装后默认策略)当内存使用超过配置的时候会返回错误,不会驱逐任何键。
  • allkeys-lru:(常用)加入键的时候,如果过限,首先通过LRU算法驱逐最久没有使用的键。
  • volatile-lru:加入键的时候如果过限,首先从设置了过期时间的键集合中驱逐最久没有使用的键。
  • allkeys-random:加入键的时候如果过限,从所有key随机删除。
  • volatile-random:加入键的时候如果过限,从过期键的集合中随机驱逐 。
  • volatile-ttl:从配置了过期时间的键中驱逐马上就要过期的键。
  • volatile-lfu:从所有配置了过期时间的键中驱逐使用频率最少的键 。
  • allkeys-lfu:从所有键中驱逐使用频率最少的键


官方文档:https://redis.io/docs/reference/eviction/

maxmemory 和 maxmemory-policy 一般可以修改 .config 文件进行配置,当然,也可以通过连接  redis 服务器,通过命令配置,命令如下:

(完)





上一篇:.NET/C# 使用 SqlConnectionStringBuilder 比较数据库连接
下一篇:ASP.NET MVC 基于 IHttpModule 模块统计请求耗时
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-27 15:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表