Redis生产环境配置
一、默认内存大小
默认在64位操作系统下是不限制内存大小的,在32位操作系统下是3G。
二、推荐设置内存的大小
推荐为最大物理内存的75%。(关键字:HashMap的负载因子默认为0.75)
三、过期key的删除策略
当一个key过期了,并不是立即从Redis中删除。而是以下三种方式:
1、立即删除。
能保证key的最新状态,但对cpu不友好,用处理器性能换取存储空间。
2、惰性删除
key到达过期时间时,不做处理。等到下次访问时判断,如果过期则删除key,未过期则返回数据。
缺点:对内存不友好,用存储空间换取处理器性能。如果redis中存在大量不再使用的过期key,则一直无法删除,除非手动FLUSHDB。
3、定期删除
周期性的轮询Redis库中的时效性数据,采取随机抽取的策略,利用过期数据占比的方式控制删除额度。
缺点:可能存在从未被抽取到的数据。
四、内存淘汰策略
默认为noeviction:不再驱逐策略,即当内存超出限制后,报错返回OOM,但不驱逐任何key。
推荐使用allkeys-lru:对所有键使用LRU(Least Recently Used 最近最少使用算法)算法进行删除。