• Redis内存淘汰策略(6)


    【前言】内存淘汰策略也称为内存回收策略,为啥要回收内存呢?

    因为redis使用很给我们开发带来很多遍历,就可能喜欢把不合理的数据也存入到redis中,redis的数据越来越多,
    而系统的内存大小优先,最后会导致物理内存不足,会导致性能下降或导致Redis无法服务。
    一般解决的方法:
    1. 增加redis的内存,治标不治本
    2. 使用内存淘汰策略及时回收内存

    1.设置redis最大内存

    修改redis.conf文件,配置文件中给出了单位示例
    在这里插入图片描述

    # 修改redis.conf文件,搜索maxmemory 进行设置,示例:1024KB / 500MB / 1GB
    # maxmemory 
    maxmemory 500MB
    
    
    • 1
    • 2
    • 3
    • 4

    2.redis内存淘汰策略分类

    在这里插入图片描述

    1. noeviction:当内存使用达到阈值(maxmemory ) 的时候,会直接返回错误。(默认策略)
    2. allkeys-lru:在所有key中,使用lru(Least Recently Userd)最近最少使用的算法去淘汰key。(推荐)
    3. allkeys-lfu:在所有的key中,使用lfu(Least Frequently used)最近不常使用的算法,淘汰使用频次最的key。
    4. allkeys-random:在所有的key中,随机淘汰某个key。
    5. volatile-lru:在设置过期时间的key中,使用lru(Least Recently Userd)最近最少使用的算法,优先淘汰最近未使用的key。
    6. volatile-lfu:在设置过期时间的key中,使用lfu(Least Frequently used)最近不常使用的算法,优先淘汰使用频次最低的key
    7. volatile-ttl:在设置过期时间的key中,优先淘汰更早过期时间的key。
    8. volatile-random:在设置过期时间的key中,进行随机淘汰某个key。

    3.配置内存淘汰策略

    编辑redis.conf文件进行修改。
    搜索命令: /maxmemory-policy

    # 编辑redis.conf文件,搜索maxmemory-policy进行设置
    # maxmemory-policy noeviction
    maxmemory-policy allkeys-lru
    
    
    • 1
    • 2
    • 3
    • 4

    如果该文章能够帮助到你,希望麻烦点赞收藏下,谢谢

  • 相关阅读:
    计算几何(待填坑)
    01.Singleton单件(单例)
    `pip` 下载速度慢
    Vue-路由嵌套
    学习Java的第十六天。。。(构造方法、方法重载、this、局部变量和成员变量)
    Day13--搜索历史-清空搜索历史记录
    第10章Linux实操篇-定时任务调度
    工业控制系统面临的安全问题分析
    前端加密解密 && crypto-js
    Redis——Java中的客户端和API
  • 原文地址:https://blog.csdn.net/qq_34846877/article/details/126653224