如果redis没有设置expire,他是否默认永不过期?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soulmate_P/article/details/81136054
如果没有设置有效期,即使内存用完,redis 自动回收机制也是看设置了有效期的,不会动没有设定有效期的,如果清理后内存还是满的,就不再接受写操作。
Redis无论有没有设置expire,他都会遵循redis的配置好的删除机制,在配置文件里设置:
redis最大内存不足"时,数据清除策略,默认为"volatile-lru"。
volatile-lru ->对"过期集合"中的数据采取LRU(近期最少使用)算法.如果对key使用"expire"指令指定了过期时间,那么此key将会被添加到"过期集合"中。将已经过期/LRU的数据优先移除.如果"过期集合"中全部移除仍不能满足内存需求,将OOM.
allkeys-lru ->对所有的数据,采用LRU算法
volatile-random ->对"过期集合"中的数据采取"随即选取"算法,并移除选中的K-V,直到"内存足够"为止. 如果如果"过期集合"中全部移除全部移除仍不能满足,将OOM
allkeys-random ->对所有的数据,采取"随机选取"算法,并移除选中的K-V,直到"内存足够"为止
volatile-ttl ->对"过期集合"中的数据采取TTL算法(最小存活时间),移除即将过期的数据.
noeviction ->不做任何干扰操作,直接返回OOM异常
另外,如果数据的过期不会对"应用系统"带来异常,且系统中write操作比较密集,建议采取"allkeys-lru"。
由以上可以看出,对没设置expire的数据,产生影响的是allkeys-lru机制,allkeys-random。
所以redis没设置expire的数据是否会删除,是由你自己选择的删除机制决定的。
在Redis服务器占用内存达到maxmemory最大的情况下,当再想增加内存占用时,会按maxmemory-policy删除机制将老的数据删除。这里简单说一下volatile-lru,Redis会按LRU算法删除设置了过期时间但还没有过期的key,而对于没有设置过期时间的key,Redis是永远保留的。当然,如果你不想删除没有过期的key,那可以使用noeviction机制。
---------------------
作者:soulmate_P
来源:CSDN
原文:https://blog.csdn.net/soulmate_p/article/details/81136054
版权声明:本文为博主原创文章,转载请附上博文链接!
转载于:https://www.cnblogs.com/Jeely/p/10785034.html
如果redis没有设置expire,他是否默认永不过期?相关推荐
- 如果redis没有设置expire,是否默认永不过期?
最近在对项目中redis缓存的过期时间进行设置的时候,忽然想到如果没有设置expire,缓存是否永不过期. 如果没有设置有效期,即使内存用完,redis 自动回收机制也是看设置了有效期的,不会动没有设 ...
- redis设置expire以及删除机制
版权声明:转载请标注地址: https://blog.csdn.net/soulmate_P/article/details/81136054 </div><link rel=&qu ...
- 在Redis中设置了过期时间的Key,需要注意哪些问题?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:千山qianshan juejin.im/post/5d6b ...
- 在 Redis 中设置了过期时间的 Key,需要注意哪些问题?
熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过期时间需要注意的事项 1. DEL/SET/GETSET等 ...
- 【干货】在Redis中设置了过期时间的Key怎么办?
熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过期时间需要注意的事项 1. DEL/SET/GETSET等 ...
- redis查看key的过期时间_面试官:你在Redis中设置过带过期时间的Key吗?
点击上方小伟后端笔记关注公众号 每天阅读Java干货文章 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过 ...
- redis lua 设置过期_详解 Redis 内存管理机制和实现
Redis是一个基于内存的键值数据库,其内存管理是非常重要的.本文内存管理的内容包括:过期键的懒性删除和过期删除以及内存溢出控制策略. 最大内存限制 Redis使用 maxmemory 参数限制最大可 ...
- 在Redis中设置了过期时间的Key注意事项
作者:千山qianshan juejin.im/post/5d6bda096fb9a06acc009dc8 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的 ...
- redis list设置过期时间_面试官:你在Redis中设置过带过期时间的Key吗?
点击上方小伟后端笔记关注公众号 每天阅读Java干货文章 熟悉Redis的同学应该知道,Redis的每个Key都可以设置一个过期时间,当达到过期时间的时候,这个key就会被自动删除. 在为key设置过 ...
最新文章
- linux终端中运行网银盾,Linux下使用Virtualbox安装 Windows 7 操作网银攻略
- SQL2K数据库开发二之查看和修改Sample数据库
- Cpp 对象模型探索 / 虚函数表和虚函数表指针的创建时机
- Andorid ListView使用技巧
- linux将变量保存生成txt,linux-将输出命令保存在变量中并写入for循环
- linux 怎么设置静态ip,如何在Linux中设置静态IP地址和配置网络
- winform 线程监听两个目录下的文件_vb.net 利用.net自带的GZipStream压缩或者解压文件的代码,不需要任何第三方控件...
- 去月球“你知道戴维会变身成哪种动物吗?”
- 地理住宅区的特点_高三地理复习专题讲解:民居特点与自然环境的关系
- 一个人知道自己为什么而活,他就可以忍受生活加诸他的一切苦难
- 什么app可以绘制路线图_为什么大多数路线图都会不可避免地带来糟糕的结果
- 阿拉伯数字转人民币大写
- 基于微信小说电子书小程序系统设计与实现 开题报告
- Java面试题大全带答案110道(持续更新)
- 如何解决Excel文档已损坏呢?
- python 遍历文件夹下所有图片
- 第一章:2030.5、CSIP、Rule21简介 and 本项目内容介绍
- Android强行进阶:为何大厂APP如微信、支付宝、淘宝、手Q等只适配了armeabi-v7a/armeabi?
- Android开发是简单的「能写应用就行」吗?复习指南
- LUNA 黑天鹅事件:Terra CEO关于项目应急方案的社区AMA
热门文章
- list在c语言中的作用,在C语言中大略实现VC++中的LISTARRAY功能方法(一)
- mysql慢查询call_慢查询日志 - Azure Database for MySQL | Microsoft Docs
- 小学计算机课的评语,小学信息技术评课稿
- Spring mvc 组件
- python 装饰器应用
- linux /etc/passwd
- java character类
- 利用vSAN Performance Monitor可视化监控vSAN性能指标
- Maven学习总结(46)——Maven跳过单元测试的两种方法及其区别(-Dmaven.test.skip=true与-DskipTests)
- android 系统内测版更新,Flyme Android 10首个内测版已推送,今天你更新了吗?