Redis运维和开发学习笔记(7) 内存管理和过期策略
Redis运维和开发学习笔记(7) 内存管理和过期策略
文章目录
- Redis运维和开发学习笔记(7) 内存管理和过期策略
- 内存回收策略
- 惰性删除
- 定时任务删除
- maxmemory
- 过期策略allkeys-lru主从搭建测试
- 搭建完毕主从
- 测试结果
- volatile-lru测试结果
- volatile-ttl测试结果
- allkeys-lru
内存回收策略
惰性删除
惰性删除用于当客户端读取带有超时属性的键时,如果已经超过键设置的过期时间,会执行删除操作并返回空。不需要维护TTL链处理过期键的删除。如果有一个键从来没有被访问,那就有问题了。就需要定时任务删除
定时任务删除
默认每10秒执行一次,通过配置hz控制。定时任务中采用自适应算法。根据键的过期比例,使用快慢两种速率回收
maxmemory
内存达到maxmemory限制时触发内存溢出控制策略maxmemory-policy:六种策略
noeviction | 默认不删除,拒绝所有写操作 |
---|---|
volatile-lru | 根据LRU算法删除设置了超时属性 |
allkeys-lru | 根据lru算法删除键,不管数据有没有设置超时属性 |
volatile-random | 随机删除过期键,知道腾出足够空间 |
volatile-ttl | 根据键值对象的ttl属性,删除最近将要过期的数据,如果没有回退到noeviction |
allkeys-random | 随机删除所有键,直到有足够空闲空间 |
过期策略allkeys-lru主从搭建测试
搭建完毕主从
开辟2M空间,往里面写数据。1024条
- 使用脚本写入数据
for ((i=1;i<1024;i++))
doecho -en "helloworld1" | redis-cli -c -p 7010 -x set name$i
done
- 把数据输出
共写入了108条数据这个时候我们再set数据查看变化
测试结果
volatile-lru测试结果
volatile-ttl测试结果
allkeys-lru
Redis运维和开发学习笔记(7) 内存管理和过期策略相关推荐
- Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 文章目录 Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令 info server info clie ...
- Redis运维和开发学习笔记(5) 主从复制和sentinel哨兵模式
Redis运维和开发学习笔记(5) 主从复制和sentinel哨兵模式 主从复制 将主节点的数据改变同步给从节点 作用 备份数据 读写分离 存在的问题: 手动干预切主等操作 主节点的写能力受到单机限制 ...
- Redis运维和开发学习笔记(4) Redis参数意义
Redis运维和开发学习笔记(4) Redis参数意义 文章目录 Redis运维和开发学习笔记(4) Redis参数意义 参数意义 参数意义 Client连接 问题 id=567800790 addr ...
- Redis运维和开发学习笔记(2) redis持久化
Redis运维和开发学习笔记(2) redis持久化 文章目录 Redis运维和开发学习笔记(2) redis持久化 持久化 持久化方式一:RDB 触发~~的三种~~方式 1. save命令 2. b ...
- Redis运维和开发学习笔记-全书思维导图
Redis运维和开发学习笔记-全书思维导图 图片过大,无法上传. 链接:https://pan.baidu.com/s/13pnEMBEdLgjZNOOEAuDvEQ 密码:qhch
- Redis运维和开发学习笔记(3)redis搭建集群
Redis运维和开发学习笔记(3)redis搭建集群 文章目录 Redis运维和开发学习笔记(3)redis搭建集群 Redis集群搭建 Redis集群搭建 cp /etc/redis.d/redis ...
- Redis运维和开发学习笔记(1) Redis简介
文章目录 Redis的特性 速度快 持久化 多种数据结构 主从复制 高可用和分布式 典型的应用场景 Redis启动和可执行文件 Redis可执行文件说明 启动方式 验证redis redis常用配置 ...
- Redis运维和开发学习目录
Redis运维和开发学习笔记-全书思维导图 Redis运维和开发学习笔记(1) Redis简介 Redis运维和开发学习笔记(2) redis持久化 Redis运维和开发学习笔记(3)redis搭建集 ...
- Redis学习笔记(四):过期策略、持久化、事件
图片来自<Redis设计与实现> Redis数据库 redis.server中redisServer.dbnum用于初始化生成多少个数据库,默认16个,Select命令选择数据库 redi ...
最新文章
- computed set 自定义参数_完全理解Vue的渲染watcher、computed和user watcher
- include/caffe/common.cuh(9): error: function atomicAdd(double *, double) has already been defined
- 享元设计模式coding
- navicat设置数据表的外键
- python字典的值可以是字典吗_python字典的值可以是字典吗
- [技术回顾系列]--认识WebService全貌
- 05:年龄与疾病【一维数组】
- C++ string类常用函数
- c语言中有关逗号表达式
- Atitit git 使用法v2 目录 1. Git客户端工具	1 1.1. Tortoisegit git gui 图形化工具。。	1 1.2. Ide中的git插件(eclipse idea
- 推荐一款鼠标手势的软件,开源且免费
- java金额小数位,java 数字转大写金额,小数部分太简单略
- 分析全基因组上的蛋白信息
- 回顾2022! 链上NFT精彩项目大盘点
- easyexcel复杂表格---包含单元格合并,表格标题,以及自定义字段写入
- 陀螺产业区块链案例库 | 终本案件智能管理系统
- 高一计算机专业班主任工作总结,【班主任工作总结报告计算机材料】
- ES6中Set方法实现数组去重
- IIS Nginx Apache Tomcat 中间件漏洞
- JavaScript原生读取json文件
热门文章
- type=file文件上传H5新特性
- 每日一题题目16:简单的python练习题(1-10)
- go语音实战读后感——一
- BZOJ1734: [Usaco2005 Feb]Aggressive cows 愤怒的牛
- MyBatis操作指南-与Spring集成(基于注解)
- 关于string转整数
- linux上安装memcached步骤
- 计算机在盲童音乐教学中的具体应用,计算机在高校中的具体应用
- java sql server连接字符串_关于Java:SQL Server的等效jdbc连接字符串
- html iframe post,使用Jquery和IFrame的跨子域请求(GET,POST,…)