1、Redis的配置文件是redis.conf
2、配置文件第12行起,描述的单位转换:
# 1k => 1000 bytes
# 1kb => 1024 bytes
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
# 注意k、kb、m、mb、g、gb的区别
# 单位是大小写不敏感的,所以1GB 1gB 1Gb是相同的。
3、"INCLUDES"模块(如37行:# include /path/to/other.conf) 可以包含其它的配置文件
4、"GENERAL"模块
1)daemonize yes(129行)表示redisserver是否可以后台,即关闭命令窗口后是否可以运行
2)loglevel notice (159行),日志级别,有debug、verbose、notice、warning
3)logfile /var/log/redis_6379.log(164行)日志的存放路径
4)syslog-enabled no 168行,是否有系统日志
5)# syslog-ident redis 171行,系统日志文件以“redis”开头
6)databases 16 179行,默认16个库
5、"NETWORK"模块
1)port 6379(85行)表示当前redisServer的端口
2)tcp-backlog 511(94行);设置tcp的backlog,backlog其实是一个连接队列,backlog队列的总和=未完成的三次握手队列+已完成的三次握手队列。在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconn和tcp_syn_backlog两个值来达到想要的效果。
3)"timeout 0"(在客户端空闲N秒后关闭连接(0是禁用,表示不关闭))
4)“tcp-keepalive 300”单位是秒,如果设置为0,则不会Keepalive,建议设置成60,(即每隔N秒检测网络通讯是否正常)
6、"SECURITY"模块
7、"SNAPSHOTTING模块"
1)dir /var/lib/redis/6379 248行 redis启动路径,数据就存储在这里
8、"LIMITS"模块
1)# maxclients 10000 513行 最大10000个连接
2)# maxmemory 538行 最大内存
3)# maxmemory-policy noeviction 561行 缓存的过期策略,有如下几种:(lru最近最少使用,random随机,ttl有限时间内)
# volatile-lru -> 使用LRU算法移除key,只对设置了过期时间的key
# allkeys-lru -> 使用LRU算法移除key
# volatile-random -> 在过期集合内移除随机的key,只对设置了过期时间的key
# allkeys-random -> 移除随机的key
# volatile-ttl -> 移除哪些TTL值最小的key,即那些最近要过期的key
# noeviction -> 永不过期,针对写操作,只返回写操作的错误
4)# maxmemory-samples 5 572行 设置样本的数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis默认会检查这么多个key并选择其中LRU的那个
8、“SNAPSHOTTING”模块
1)203行
save 900 1 900秒内有一个KEY修改就保存
save 300 10300秒内有十个KEY修改就保存
save 60 1000060秒内有一万个KEY修改就保存
2)238行 dbfilename dump.rdb持久化文件的存储名称
3)248行 dir /var/lib/redis/6379持久化文件的存储目录
4)220号 stop-writes-on-bgsave-error yes ,yes表示出错了就不保存,no表示你不在乎数据的一致性或者有其他手段发现和控制
5)226行 rdbcompression yes 压缩
6)235行 rdbchecksum yes 在存储快照后,还可以让Redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取最大的性能的提升,可以关闭次此功能。
7)201行 save "" 停止持久化
9、“APPEND ONLY MODE”模块
1)594行 appendonly no AOF持久化是否追加文件
2)598行 appendfilename "appendonly.aof"AOF持久化文件名称
3)624行 appendfsync always:同步持久化 每次发生数据变更会立即记录到磁盘 性能较差但是数据完整性较好 everysec:出场默认推荐,i异步操作,每秒记录,如果一秒内宕机,有数据丢失 no:不同步
4)646行 no-appendfsync-on-rewrite no 重写时是否可以用Appendfsync,用默认no即可,保证数据安全性
5)665行 auto-aof-rewrite-percentage 100 (即100%)大小是上次重写时翻倍时在重写
auto-aof-rewrite-min-size 64mb 超过64M就重写