redis六种淘汰策略详解
解决方法:
如果redis.conf设置了maxmemory,那redis内存到达这个值得时候就开始执行淘汰策略。如果不设置maxmemory或者设置为0,64位系统不限制内存,32位系统最多使用3GB内存,那么服务器的运行内存不足时才会执行淘汰策略。所以如果redis的应用场景是作为数据库来使用,那不要设置这个选项,因为db是不能容忍丢失数据的,如果作为cache使用,则可以设置这个选项。
redis的6种汰策略:http://www.yayihouse.com/yayishuwu/chapter/2103
补充:在Redis中LRU算法是一个近似算法,默认情况下,Redis随机挑选5个键(在配置文件中可以通过maxmemory-samples的值来设置,默认是5,数值越大检查的越多,耗费的时间也就越久),并且从中选取一个最近最久未使用的key进行淘汰。