第三章、Redis配置文件详解
Redis配置文件详解
redis配置文件说明:
# vim /etc/redis.conf
daemonize no
#表示redis并不会运行成为一个守护进程,如果需要运行成为一个守护进程,则把no,改为yes即可,如果使用服务脚本启动,即使daemonize为no,也会运行为一个守护进程
port 6379 #监听端口:6379/tcp
tcp-backlog 511 #指定tcp-backlog的长度
#说明:任何的tcp服务都有可能使用到tcp-backlog功能,backlog是一个等待队列,比如:redis的并发很高时,redis有可能运行不过来时,就连接本地缓存等队列都满了以后,就会使用额外的存储地方,把新来的请求暂存下来,而这个位置则称为backlog
bind 127.0.0.1
#监听的地址,默认监听在127.0.0.1地址上,可以指定为0.0.0.0地址表示本地所有IP都监听,注意bind定义的只能是本地服务器上已有的IP,如果本地没有IP启动会报错
# unixsocket /tmp/redis.sock #指定使用sock文件通信及sock文件位置,如果服务端和客户都在同一台主机上,建议打开此项,基于sock方式通信可以直接在内存中交换,数据不用再经过TCP/TP协议栈进行封装、拆封的过程
# unixsocketperm 700 #定义sock文件的访问权限
timeout 0 #表示当客户端连接成功后,空闲(非活跃、或没有任何数据交互)多长时间则连接超时,0表示不启用此功能
tcp-keepalive 0 #定义是否启用tcp-keepalive功能
loglevel notice #定义日志级别
logfile /var/log/redis/redis.log #定义日志文件
databases 16 #定义redis默认有多少个databases,默认16个编号0~15,但是在分布式中,只能使用一个
#定义RDB的持久化相关
#### SNAPSHOTTING #### #定义RDB的持久化相关
save <seconds> <changes> #使用save指令,并指定每隔多少秒,如果发生多大变化,进行存储
示例:
save 900 1 #表示在900秒(15分钟内),如果至少有1个键发生改变,则做一次快照(持久化)
save 300 10 #表示在300秒(5分钟内),如果至少有10个键发生改变,则做一次快照(持久化)
save 60 10000 #表示在60秒(1分钟内),如果至少有10000个键发生改变,则做一次快照(持久化)
save "" #如果redis中的数据不需做持久化,只是作为缓存,则可以使用此方式关闭持久化功能
#配置主从相关
######## REPLICATION #######
# slaveof <masterip> <masterport> #此项不启用时,则为主,如果启动则为从,但是需要指明主服务器的IP,端口
# masterauth <master-password> #如果主服务设置了密码认证,那么从的则需要启用此项并指明主的认证密码
slave-read-only yes #定义从服务对主服务是否为只读(仅复制)
#定义资源限制
##### LIMITS ##### #定义与连接和资源限制相关的配置
# maxclients 10000 #定义最大连接限制(并发数)
# maxmemory <bytes> #定义使用主机上的最大内存,默认此项关闭,表示最大将使用主机上的最大可用内存(G)
#定义AOF的持久化
###### APPEND ONLY MODE ####### #定义AOF的持久化功能相关配置,一旦有某一个键发生变化,将修改键的命令附加到命令列表的文件中,类似于MySQL二进制日志
appendonly no #定义是否开启此功能,no表示关闭,yes表示开启
RDB和AOF的区别:
说明:RDB和AOF两种持久功能可以同时启用,两者不影响
RDB为周期更新,满足定义条件才保存值。
AOF为实时保存,只要键值有变更都会被记录。