我的后端学习大纲
我的Redis学习大纲
1.1.Redis的配置文件:
- 1.Redis的配置文件名称是:
redis.conf
- 2.在vim这个配置文件的时候,默认是不显示行号的,可以编辑下面这个文件,末尾加上
set nu
,就会显示行号:
1.2.配置文件内容解析:
a.Units单位:
- 1.配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit
- 2.大小写不敏感
b.Includes包含:
- 1.可以包含多个配置文件
c.Modules包含:
- 1.Modules包含的内容:
d.网络相关配置
- 1.bind=127.0.0.1说明:默认情况
bind=127.0.0.1
只能接受本机的访问请求,如果注释掉不写或者改成bind=0.0.0.1
的情况下,无限制接受任何ip地址的访问 - 2.在生产环境肯定要写你应用服务器的地址;服务器是需要远程访问的,所以需要将其注释掉
- 3.protected-mode说明:
- 将本机开启保护模式
- 如果
开启了protected-mode
,那么在没有设定bind ip且没有设密码的情况下,Redis也只允许接受本机的响应
,所以设置为:protected-mode:no
- 4.port:端口号,默认 6379
- 5.tcp-backlog:
- 设置tcp的backlog,b
acklog其实是一个连接队列
,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列
。 - 在
高并发环境下你需要一个高backlog值来避免慢客户端连接问题
- 注意Linux内核会将这个值减小到
/proc/sys/net/core/somaxconn的值(128)
,所以需要确认增大/proc/sys/net/core/somaxconn和/proc/sys/net/ipv4/tcp_max_syn_backlog(128)
两个值来达到想要的效果
- 设置tcp的backlog,b
- 6.timeout:一个空闲的客户端维持多少秒会关闭,0表示关闭该功能,即永不关闭
- 7.
tcp-keepalive
- 对访问客户端的一种心跳检测,每个n秒检测一次。
- 单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
- 使用keepalive有两个好处:
- 检测挂掉的对端
- 降低中间设备出问题而导致网络看似连接却已经与对端端口的问题
- 7.
GENERAL
daemonize:
表示守护进程:是否为后台进程,设置为yes,守护进程,后台启动
- 8.存放pid文件的位置,每个实例会产生一个不同的pid文件
- 9.指定日志记录级别,Redis总共支持四个级别:
- debug(很多信息,方便开发、测试)、
- verbose(许多有用的信息,但是没有debug级别信息多)、
- notice(默认,适当的日志级别,适合生产环境)、
- warning(只有非常重要的信息)
- 10.
dir .
:工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
,目录设置为:dir /opt/software/log
- 11.Syslog 相关配置:
- 12.其他配置:
databases 1
:数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15maxmemory 512mb
:设置redis能够使用的最大内存logfile "redis.log"
:日志文件,默认为空,不记录日志,可以指定日志文件名requirepass
:表示redis密码,可以设置为:requirepass 190915