redis内存设置--结论是超过内存用量会删key

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chenggong2dm/article/details/79207989

同事在内存很低(2G内存的云服务器)测试机上,跑了2个含有大量数据的redis库,结果内存不足,redis挂掉了。

按照我脑补理解,应该是可以设置内存用量,把常用数据,部分加载到内存,不常用的,保存到硬盘上。结果,不是这样。在RDB模式下,数据就是整块的。如果超出,无论配置哪种淘汰策略,redis干的事儿,就是删key。没错,删key!问你怕不怕!

结论:如果redis数据中,存的是关键数据,怕丢失的数据,那么,redis数据占用的内存,不要超过内存大小的70%(保险起见不要超过55%),以免内存不足!不要期望什么内存淘汰策略!它所做的居然是删数据!LRU, LFU 迁出都是!


如果数据是不怕丢的缓存数据,那么可以在redis.conf里,配置如下两项,进行内存数据淘汰(其实是删除):

1,redis可以使用的最大内存(这里我设置为64M):

maxmemory 64000000

2,什么样的数据,可以保存在内存中(这里我使用的策略为:从内存中,“迁出”其实就是删除,不常用的key):

maxmemory-policy allkeys-lfu




猜你喜欢

转载自blog.csdn.net/chenggong2dm/article/details/79207989