zoukankan      html  css  js  c++  java
  • 13、Redis设置过期时间的两种方案是什么?

    Redis中有个设置时间过期的功能,即对存储在 Redis 数据库中的值可以设置一个过期时间。

    作为一个缓存数据库, 这是非常实用的,比如一些 token 或者登录信息,尤其是短信验证码都是有时间 限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。

    我们 set key 的时候,都可以给一个 expire time,就是过期时间,通过过期时间我们可以指定这个 key 可 以存活的时间,主要可采用定期删除和惰性删除两种方案。

    1.定期删除:Redis默认是每隔 100ms 就随机抽取一些设置了过期时间的key,检查其是否过期,如果过 期就删 除。注意这里是随机抽取的。为什么要随机呢?你想一想假如 Redis 存了几十万个 key ,每隔 100ms就遍历所 有的设置过期时间的 key 的话,就会给 CPU 带来很大的负载!

    2.惰性删除 :定期删除可能会导致很多过期 key 到了时间并没有被删除掉。所以就有了惰性删除。它 是指某个键值过期后,此键值不会马上被删除,而是等到下次被使用的时候,才会被检查到过期,此时才能 得到删除,惰性删除的缺点很明显是浪费内存。 除非你的系统去查一下那个 key,才会被Redis给删除 掉。这就是所谓的惰性删除!

  • 相关阅读:
    windows下进程与线程剖析
    visual studio调试exe程序
    javascript方法注释
    visual studio 使用技巧——vs技巧
    程序员的成长路线
    如何写好demo——学习感悟
    github看项目-浏览器插件
    java开源项目——java学习
    文章格式-资料整理
    如何学习新技术-学习
  • 原文地址:https://www.cnblogs.com/crbhf/p/15148167.html
Copyright © 2011-2022 走看看