1. redis独写速度慢
可以将redis单实例改为redis集群
2. redis报OOM
redis内存溢出,调大redis内存:增加redis.conf中的maxmemory 的值。如果redis服务器内存不足,还需要增加内存硬件资源
3. 调优redis内存
通过配置内存淘汰机制来进行调优,具体如下:
在配置文件redis.conf 中,可以通过参数 maxmemory <bytes> 来设定最大内存(通过配置redis.conf中的maxmemory这个值来开启内存淘汰功能),当数据内存达到 maxmemory 时,便会触发redis的内存淘汰策略(我们一般会将该参数设置为物理内存的四分之三)。
如果使用6个节点的redis集群,redis服务器总内存64G,可为每个节点分配8G内存。即配置:maxmemory 8G
如果应用设置内存失效时间,可以采用 volatile-lru策略,即配置:maxmemory-policy volatile-lru (# maxmemory-policy noeviction为redis.conf中默认配置)
#redis配置,请根据实际情况修改 redis.host=127.0.0.1 redis.port=6379 #过期时间半小时 redis.timeout=1800s redis.password=Tiye@123!
Redis提供了下面几种淘汰策略供用户选择,其中默认的策略为noeviction策略:
noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错。
allkeys-lru:在主键空间中,优先移除最近未使用的key。
volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。
allkeys-random:在主键空间中,随机移除某个key。
volatile-random:在设置了过期时间的键空间中,随机移除某个key。
volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。