一.当读取一个1.5G的文件写入redis时候,机器资源不够,被系统杀掉进程,实验数据上限作罢. redis string理论支持1GB
二.场景:redis 2.6以上版本已经废弃了vm功能,配置文件已关闭redis持久化功能 当reids占用内存大于分配的内存的时候.
1.volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰 redis并不是保证取得所有数据集中最近最少使用的键值对,而只是随机挑选的几个键值对中的, 当内存达到限制的时候无法写入非过期时间的数据集
2.volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰 redis 并不是保证取得所有数据集中最近将要过期的键值对,而只是随机挑选的几个键值对中的, 当内存达到限制的时候无法写入非过期时间的数据集
3.volatile-random:从已设置过期时间的数据集中任意选择数据淘汰 当内存达到限制的时候无法写入非过期时间的数据集
4.allkeys-lru:从数据集中挑选最近最少使用的数据淘汰 当内存达到限制的时候,对所有数据集挑选最近最少使用的数据淘汰,可写入新的数据集
5.allkeys-random:从数据集中任意选择数据淘汰 当内存达到限制的时候,对所有数据集挑选随机淘汰,可写入新的数据集 6.no-enviction:禁止驱逐数据 当内存达到限制的时候,不淘汰任何数据,不可写入任何数据集 其他 redis支持动态改配置,无需重启。使用config set X X设置选项值,
使用config get X X获取选项值 动态改配置命令: config set maxmemory 100000(设置最大内存)
config set maxmemory-policy noeviction(设置淘汰策略为禁止驱逐)
info查看redis实时信息 used_memory已使用内存数量
redis数据淘汰机制