博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis运维和开发学习笔记(7) 内存管理和过期策略
阅读量:2490 次
发布时间:2019-05-11

本文共 708 字,大约阅读时间需要 2 分钟。

Redis运维和开发学习笔记(7) 内存管理和过期策略

文章目录

内存回收策略

惰性删除

惰性删除用于当客户端读取带有超时属性的键时,如果已经超过键设置的过期时间,会执行删除操作并返回空。不需要维护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条

  1. 使用脚本写入数据
for ((i=1;i<1024;i++))do    echo -en "helloworld1" | redis-cli -c -p 7010 -x set name$idone
  1. 把数据输出
    共写入了108条数据这个时候我们再set数据查看变化

测试结果

volatile-lru测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-If4Ld9SW-1572053750520)(media/15662043330552/15674243431626.jpg)]

volatile-ttl测试结果

在这里插入图片描述

allkeys-lru

在这里插入图片描述

转载地址:http://ozorb.baihongyu.com/

你可能感兴趣的文章
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
Sequelize的原始查询的时区问题
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>
How it works(12) Tileserver-GL源码阅读(A) 服务的初始化
查看>>
uni-app 全局变量的几种实现方式
查看>>
echarts 为例讲解 uni-app 如何引用 npm 第三方库
查看>>
uni-app跨页面、跨组件通讯
查看>>
springmvc-helloworld(idea)
查看>>
JDK下载(百度网盘)
查看>>
idea用得溜,代码才能码得快
查看>>
一篇掌握python魔法方法详解
查看>>
数据结构和算法5-非线性-树
查看>>
数据结构和算法6-非线性-图
查看>>
数据结构和算法7-搜索
查看>>
数据结构和算法8-排序
查看>>
windows缺少dll解决办法
查看>>