zoukankan      html  css  js  c++  java
  • Redis 缓存过期机制和内存淘汰管理机制

    一、Redis缓存过期机制有如下两种

    (主动) 定期删除

    (被动) 惰性删除

    1、(主动) 定期删除

    默认1秒钟10次检查.每次检查的时候,如果发现过期,则进行删除。  查看redis.conf 文件

    2、(被动) 惰性删除

    客户端请求的是一个key,如果检测到已经过期,则将该key从内存中清除掉。

    这种策略对CPU比较友好,不会有太多的损耗,但是内存占用会比较高(如果客户端不请求,则一直占用内存)

    二、内存淘汰管理机制

    内存如果被Redis缓存占用慢了怎么办?

    内存沾满了,使用使用硬盘来保存,但是没有意义,因为硬盘没有内存快,影响redis性能。

    所以redis提供了一套缓存淘汰机制MEMORY MANAGEMENT。

    如果服务器的内存同时被其它程序使用,如tomcat,mq等,那么redis的内存使用应该受到限制。

    maxmemory 最大内存。当内存已使用率到达,则开始清理缓存。

    清除缓存的策略:

    noeviction: 旧缓存永不工期,新缓存设置不了,返回错误。

    allkeys-lru : 清除最少使用的旧缓存,然后保存新的缓存(推荐使用)

    allkeys-random: 在所有的缓存中随机删除(不推荐)

    vilatile-lru: 在那些设置了expire过期时间的缓存中,随机删除缓存。

    volatile-ttl: 在那些设置了expire过期时间的缓存中,删除即将过期的。

    查看redis.conf 文件的MEMORY MANAGEMENT 

  • 相关阅读:
    SQLite 的连接串
    输入数组长度大于此表中的列数
    MVC3.0入门学习笔记页面传值ViewData
    MVC3.0入门学习笔记页面传值TempData
    在控制台程序中显示进度
    WCF学习笔记(1) 一个简单的wcf实例
    webBrowser 操作无ID元素
    webBrowser 设置文本框
    cookie总结
    checkbox是否被选择
  • 原文地址:https://www.cnblogs.com/linlf03/p/13235692.html
Copyright © 2011-2022 走看看