本人从两个方面去解释如何进行redis性能优化,经验是很根据线上环境的使用总结的。
1 连接数优化
redis使用的IO多路复用技术,关于redis IO多路复用技术就不在此具体说明,只能说由于redis使用了这个技术,导致客户端可以
获取到的总大连接数取决于linux服务器文件句柄数,所以要尽量多配置这个数据
2 redis内存策略配置
redis之所以快,它使用的是内存,但是内存的大小所以远远小于物理内存,redis的数据超出内存时,会导致系统卡顿,数据丢失
(这个教训很痛苦)所以我们首先要去配置redis的内存淘汰机制。
2.1 如何配置redis的内存淘汰机制
1 开启 : 我们可以通过配置redis.conf中的 maxmemory + 值 这个值来开启内存淘汰功能,默认是不开启
2 选择类型 : maxmemory-policy + 类型
类型
noeviction:默认策略,不淘汰,如果内存已满,添加数据是报错。
allkeys-lru:在所有键中,选取最近最少使用的数据抛弃。
volatile-lru:在设置了过期时间的所有键中,选取最近最少使用的数据抛弃。
allkeys-random: 在所有键中,随机抛弃。
volatile-random: 在设置了过期时间的所有键,随机抛弃。
volatile-ttl:在设置了过期时间的所有键,抛弃存活时间最短的数据。