您的位置:首页 > 数据库 > 数据库管理

redis数据超过可用内存

更多 2016/8/2 来源:数据库管理学习浏览量:1111
学习标签: redis
本文导读:redis是一个key-value存储系统,和Memcached类似。redis是个对内存依赖性很强的NoSql数据库,在内存足够的情况下性能出色,但是在实际的应用中,如果redis所需内存超过了可用内存时,我们该如何处理呢?

一、处理方式有很多种,例如

 

1、修改redis.conf中的maxmemory-policy选项

2、加内存

3、缩短(或设置)数据过期时间,以释放内存

4、redis集群

当然还有其他更好的方式

 

 

二、通过修改redis.conf中maxmemory-policy选项,设置删除redis键的淘汰规则

 

规则名称 规则说明
volatile-lru 使用LRU算法删除一个键(只对设置了生存时间的键)
allkeys-lru 使用LRU算法删除一个键
volatile-random 随机删除一个键(只对设置了生存时间的键)
allkeys-random 随机删除一个键
volatile-ttl 删除生存时间最近的一个键
noeviction 不删除键,只返回错误

 

淘汰规则说明

 

1、LRU算法,least Recently Used,最近最少使用算法。也就是说默认删除最近最少使用的键。

2、redis中并不会准确的删除所有键中最近最少使用的键,而是随机抽取3个键,删除这三个键中最近最少使用的键。

3、随机抽取3个键中 "3" 这个数字也是可以设置的,对应位置是配置文件中的maxmeory-samples。

 

收藏
296
很赞
396
您可能感兴趣