zoukankan      html  css  js  c++  java
  • Redis 内存大小限制+键值淘汰策略配置

    限制最大内存

    windows 的 maxmemory-policy 策略可能会少一些

    复制代码
    # 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,移除规则可以通过 maxmemory-policy 来指定,当处理后,仍然到达最大内存,将无法再进行写入操作,但仍然可以进行读取操作
    # Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区
    # maxmemory <bytes>
    # 3GB = 3*1024*1024*1024=3221225472
    maxmemory 3221225472
    
    # 当内存使用达到最大值时,redis 使用的清除策略:
    # LRU 表示最近最少使用,LFU 意味着最少使用
    # volatile-lru -> 利用 LRU 算法移除设置过过期时间的 key
    # allkeys-lru -> 利用 LRU 算法移除任何 key(常用)
    # volatile-lfu -> 利用 LFU 算法移除设置过过期时间的 key
    # allkeys-lfu -> 利用 LFU 算法移除任何 key
    # volatile-random -> 移除设置过过期时间的随机 key
    # allkeys-random -> 移除随机 key
    # volatile-ttl -> 移除即将过期的 key(minor TTL)
    # noeviction -> 不移除任何 key,只是返回一个写错误(默认)
    maxmemory-policy noeviction
    
    # LRU,LFU 和最小 TTL 算法不是精确的算法,而是近似算法(为了节省内存),默认 Redis 将检查 5 个键并选择最近使用的键,可以配置指令更改样本大小获得速度或精度。默认值 5 会产生足够好的结果,10 非常接近真实的 LRU,但耗 CPU,3 更快,但不是很准确。
    maxmemory-samples 5
    复制代码

    重启服务

    windows

    net stop redis 
    net start redis

    linux

    systemctl restart redis

    命令行方式修改

    复制代码
    # 设置 100M
    config set maxmemory 104857600
    config set maxmemory-policy allkeys-lru
    # 查看
    config get maxmemory
    # maxmemory_human:总共,used_memory_human:已使用
    info memory
    # 查看所有配置
    config get *
    复制代码

     

  • 相关阅读:
    LINUX系统运行查看
    MySQL数据库中tinyint类型字段读取数据为true和false (MySQL的boolean和tinyint(1))
    mysql DATE_FORMAT 年月日时分秒格式化
    fastJson泛型如何转换
    查找java程序进程快速指令jps
    vim快捷键
    mysql全库搜索指定字符串
    mysql一次性删除所有表而不删除数据库
    一键安装Docker图形化管理界面-Shipyard
    hadoop性能测试
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/14523413.html
Copyright © 2011-2022 走看看