python爬虫

redis配置文件详解

2020-12-09  本文已影响0人  苦海飘摇
# ./redis-server /path/to/redis.conf  以指定配置文件启动
# 1k => 1000 bytes  通俗易懂,1k代表1000字节
# 1kb => 1024 bytes         1kb代表1024字节
# 1m => 1000000 bytes
# 1mb => 1024*1024 bytes
# 1g => 1000000000 bytes
# 1gb => 1024*1024*1024 bytes
#
# units are case insensitive so 1GB 1Gb 1gB are all the same.  不区分大小写

################################## INCLUDES ####################################
# 设置启动指令前的配置文件、后加载的配置文件会覆盖先加载的配置文件配置
# include /path/to/local.conf
# include /path/to/other.conf

################################## MODULES #####################################
# 在启动时加载模块。如果服务器无法加载模块它将中止。可以使用多个loadmodule指令。
# loadmodule /path/to/my_module.so
# loadmodule /path/to/other_module.so

################################## NETWORK #####################################
bind 127.0.0.1 # bind 0.0.0.0设置允许所有ip连接。生产环境必须设定死ip,可设置多个
protected-mode yes # 是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。要是开启了密码和bind,可以开启。否则最好关闭,设置为no
port 6379  # redis监听的端口号
timeout 0  # 此参数为设置客户端空闲超过timeout,服务端会断开连接,为0则服务端不会主动断开连接,不能小于0
#
# 此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度, 当然此值必须不大于Linux系统定义
# 的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端
# 速度缓慢的时候,可以将这二个参数一起参考设定。该内核参数默认值一般是128,对于负载很大的服务程序来说
# 大大的不够。一般会将它修改为2048或者更大。在/etc/sysctl.conf中添加:net.core.somaxconn = 2048, 然后在终端中执行sysctl -p
tcp-backlog 511
#
# tcp keepalive参数。如果设置不为0,就使用配置tcp的SO_KEEPALIVE值,使用keepalive有两个好处:检测挂
# 掉的对端。降低中间设备出问题而导致网络看似连接却已经与对端端口的问题。在Linux内核中,设置了
# keepalive,redis会定时给对端发送ack。检测到对端关闭需要两倍的设置值
tcp-keepalive 300

################################# TLS/SSL #####################################
# 默认情况下,TLS/SSL 是关闭的。如果开启,则tls-port配置的端口会用作TLS默认端口(意思应该是配置了tls-port的端口,同时就打开了TLS/SSL服务)
# port 0
# tls-port 6379
# 使用一个 X.509 证书与密钥来实现客户端连接主节点或者集群的认证过程。这些文件应该是PEM格式
#
# tls-cert-file redis.crt  # 证书
# tls-key-file redis.key  # 密钥
#
# 配置DHfile文件来启动DH密钥交换
# tls-dh-params-file redis.dh
#
# 配置一个CA文件或者包含CA文件的文件夹来认证客户端的TLS/SSL连接。这两项配置
# 你至少需要配置一个,因为redis没有为这个做系统默认配置
# tls-ca-cert-file ca.crt  # CA文件
# tls-ca-cert-dir /etc/ssl/certs  # CA文件夹地址
#
# 默认情况下,客户端(包含从节点)使用TLS的时候必须进行证书认证
# 如果配置为no,则客户端证书不是必要的
# 如果配置为 optional 则客户端证书有则必须校验通过,或者没有。
# tls-auth-clients no
# tls-auth-clients optional
#
# 默认情况下,从节点不会以TLS的方式连接主节点
# 从节点同步数据使用TLS
# tls-replication yes
#
# 默认情况下,redis集群使用TCP连接,要启用TLS连接的话,配置为yes
# tls-cluster yes
# 
# 明确指定TLS版本,可以同时指定多个版本(版本大于1.1.1)
# tls-protocols "TLSv1.2 TLSv1.3"
#
# 配置允许访问的密钥,关于更多的密钥信息请参考 ciphers(1ssl) 手册
# Note: this configuration applies only to <= TLSv1.2.
# tls-ciphers DEFAULT:!MEDIUM

################################# GENERAL #####################################
daemonize no  # 是否后台运行
supervised no  # 是否supervised管理后台
pidfile /var/run/redis/redis.pid   # redis的进程文件
#
# 指定了服务端日志的级别。级别包括:
# debug(很多信息,方便开发、测试),
# verbose(许多有用的信息,但是没有debug级别信息多),
# notice(适当的日志级别,适合生产环境),
# warn(只有非常重要的信息)
loglevel notice
#
logfile /usr/local/redis/var/redis.log  # 指定了记录日志的文件。空字符串的话,日志会打印到标准输出设备。后台运行的redis标准输出是/dev/null
# syslog-enabled no  # 是否打开记录syslog功能
# syslog-ident redis  # syslog的标识符。
# syslog-facility local0  # 日志的来源、设备
databases 16  # 数据库的数量,默认使用的数据库是0。
always-show-logo yes  # 启动redis时是否显示logo。

################################ SNAPSHOTTING  ################################
save 900 1  # 如果900s内,至少有 1 key进行了修改,我们进行持久化操作
save 300 10  # 如果300s内,至少有 10 key进行了修改,我们进行持久化操作
save 60 10000  # 如果60s内,至少有 10000 key进行了修改,我们进行持久化操作
stop-writes-on-bgsave-error yes  # 持久化如果出错,是否要继续工作
rdbcompression yes  # rdb持久化的时候启动压缩,需要消耗一定的cpu资源
rdbchecksum yes  # 保存rdb文件的时候,进行错误的检查校验
dbfilename dump.rdb  # rdb持久化保存的文件名
dir ./   # rdb持久化文件保存的目录,redis客户端下执行config get dir会显示该路径,如过该路径下有dump.rdb文件,redis启动时就会恢复其中的数据。
# rdb持久化触发机制
# save规则满足的情况下,执行flushall命令、退出redis。
#
# 开启删除同步rdb文件,默认关闭。大致意思是采用磁盘文件缓冲数据同步时产生的RDB文件是否删除。一般不建议删除。有些场景下,出于服务器安全的考虑需要删除。
# 还有一种办法就是直接采用内存同步,不经过RDB文件中间缓冲数据。这样就不会产生RDB同步文件,那么这个配置也将失去意义
rdb-del-sync-files no

################################# REPLICATION复制---主从 ########################

############################### KEYS TRACKING #################################
# ACL日志跟踪与ACL关联的失败命令和身份验证事件。ACL日志对于排除ACL阻止的失败命令非常有用。ACL日志存储在内存中。您可以使用ACL日志重置来回收内存。在下面定义ACL日志的最大条目长度。
acllog-max-len 128
#
# 使用外部ACL文件配置
# 用户只需在这里配置一个单独的文件就可以了。这两种方法不能混合使用:如果在这里配置用户,同时激活外部ACL文件,服务器将拒绝启动。
# aclfile /etc/redis/users.acl

################################### CLIENTS ####################################
# 重要提示:当使用Redis集群时,最大连接数也与集群总线共享:集群中的每个节点将使用两个连接,一个传入,另一个传出。(就是对与主节点而言,没个从节点都保持了两个连接来维持主从通信的)
# 在非常大的簇的情况下,相应地调整限制的大小是很重要的。
# 客户端连接数
# maxclients 10000

############################## MEMORY MANAGEMENT ################################
# maxmemory <bytes>  # redis配置最大的内存容量
# maxmemory-policy noeviction  # 内存达到上限后的处理策略
# volatile-lru 从已设置过期时间的内存数据集中挑选最近最少使用的数据 淘汰;
# allkeys-lru 从内存数据集中挑选最近最少使用的数据 淘汰;
# volatile-lfu 从已设置过期时间的内存数据集中挑选最近最多使用的数据 淘汰;
# allkeys-lfu 从内存数据集中挑选最近最多使用的数据 淘汰;
# volatile-random 从已设置过期时间的内存数据集中任意挑选数据 淘汰;
# allkeys-random 从数据集中任意挑选数据 淘汰;    
# volatile-ttl 已设置过期时间的内存数据集中删除最接近过期时间的数据(次要TTL)
# noeviction 不淘汰任何数据,直接返回写入数据异常

############################# LAZY FREEING ####################################
lazyfree-lazy-eviction no # 是否异步驱逐key,当内存达到上限,分配失败后
lazyfree-lazy-expire no # 是否异步进行key过期事件的处理
lazyfree-lazy-server-del no # del命令是否异步执行删除操作,类似unlink
replica-lazy-flush no # 从节点做全同步的时候,是否异步flush本地db
lazyfree-lazy-user-del no # 执行DEL命令时是否基于lazyfree异步删除数据,可选值:

############################## APPEND ONLY MODE ###############################
appendonly no # 是否开启AOF,默认是rdb方式
appendfilename "appendonly.aof"  # 持久化的文件名字
#
# appendfsync always  # 每次修改都会sync,消耗性能
appendfsync everysec  # 每秒执行一次sync,可能会丢失这1s的数据
# appendfsync no      # 不执行sync,这个时候操作系统自己同步数据,速度最快
#
# 当主进程执行写AOF文件的时候不进行appendfsync操作
no-appendfsync-on-rewrite no
# 使用推荐:无法忍受延迟,而可以容忍少量的数据丢失,则设置为yes。如果应用系统无法忍受数据丢失,则设置为no。
上一篇 下一篇

猜你喜欢

热点阅读