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 最近最少使用算法)算法进行删除。