关于RDB和AOF的配置,请参考我的下一篇文章,Redis持久化
一、Units——单位
k和kb,m和mb等,数值并不相等。单位大小写不敏感。
二、INCLUDES——包含
可以按照上方的格式,通过includes包含其它的配置文件。将配置文件分模块化。
三、GENERAL——通用
1、后台运行的配置
2、tcp-backlog
backlog是一个连接队列,设置的是队列总和。在一个高并发的环境下,需要一个高的backlog值来避免慢客户端连接问题。
3、timeout
设置连接空闲多长时间后,关闭这个连接。
4、tcp-keepalive
检测网络是否中断。
单位为秒,如果设置为0,则不进行keepalive检测。建议设置成60。
5、loglevel
redis有四个loglevel等级。从低到高,debug,verbose,notice,warning。
6、logfile
设置一个日志名称,可以为空。
是否把日志输出到系统日志,默认为No
指定系统日志里的日志标识
指定系统日志设备,值可以是LOCAL0-LOCAL7,默认是0
7、database
指定redis默认有16个库,库的编号是从0-15。设置个数以后,是从0-个数-1。
8、dir
指定本地数据库的存放目录。
三、SECURITY——安全
Redis默认是不是用密码。
进入cli中,使用config get requirepass ,获取当前密码,可以使用set,设置密码。
想要使用的话,就使用 auth 密码,后续就可以使用了。
四、LIMITS——限制
1、maxclients
设置最大连接数,默认为10000。
2、maxmemory
设置最大的内存数。单位是bytes
3、maxmemory-policy
LRU算法:最近最少使用。
volatile-lru:使用LRU算法移除key,只对设置了过期时间的键进行操作。
allkeys-lru:使用LRU算法移除key,对所有键进行操作
LFU算法:最少使用。
volatile-lfu:使用LFU算法移除key,只对设置了过期时间的键进行操作。
allkeys-lfu:使用LFU算法移除key,对所有键进行操作
随机删除
volatile-random:在会过期的集合中随机移除随机的key,只对设置了过期时间的键。
allkeys-random:移除随机的key
其它
volatile-ttl:移除那些TTL(过期时间)最小的key,即哪些key即将过期,就删除掉。
noeviction:不进行移除。针对写操作,只是返回错误信息。
最大内存策略,即缓存的移除策略(过期策略)。当最大内存制到达的时候,如果挑选过期的数据进行清理。
默认是noeviction
4、maxmemory-samples
设置样本数量,LRU、LFU和TTL都是不精确的算法,而是估算值。设置这个值,redis会默认检查maxmemory-samples个key,并选择其中最符合的那个。
默认选取5个。个数越少,速度越快,精确度越低。