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 *
    复制代码

     

  • 相关阅读:
    NetSuite Batch Process Status
    NetSuite generated bank files and the Bank Reconciliation process
    Global Search file content in Gitlab repositories, search across repositories, search across all files
    FedEx Package Rate Integration with NetSuite direct integrate by WebServices
    git Merge branches
    git tag and NetSuite deployment tracking
    API 读写cookie的方法
    C# 生成缩略图
    解决jquery操作checkbox全选全不选无法勾选问题
    JS读取写入删除Cookie方法
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/14523413.html
Copyright © 2011-2022 走看看