-
“”
-
“cluster-announce-ip”
-
“”
-
“unixsocket”
-
“”
-
“logfile”
-
“”
-
“pidfile”
-
“/var/run/redis_6379.pid”
-
“slave-announce-ip”
-
“”
-
“replica-announce-ip”
-
“”
-
“maxmemory”
-
“0”
-
“proto-max-bulk-len”
-
“536870912”
-
“client-query-buffer-limit”
-
“1073741824”
-
“maxmemory-samples”
-
“5”
…
CONFIG SET 命令修改配置项,语法为 CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
修改日志级别
127.0.0.1:6379> CONFIG SET loglevel “notice”
OK
不过我们一般是打开 redis.conf 配置文件,进行修改,然后再重新启动redis服务。
################################## INCLUDES 包含 ###################################
如果有多个配置文件,可以在此配置引入。
引入其它配置文件。如果你有多个redis服务,而有一些配置项是它们公用的,那么你可以将这些公用的配置项写进一个配置文件common.conf里,
然后这些redis服务再include这个配置文件,这些服务自己的配置项则分别写在自己的配置文件里。
include /path/to/local.conf
include /path/to/other.conf
################################## MODULES 模块 #####################################
如果我们需要加载其他模块,可以在此配置
loadmodule /path/to/my_module.so
loadmodule /path/to/other_module.so
################################## NETWORK 网络 #####################################
指定redis只接收哪些IP的请求,如果配置bind 127.0.0.1则只监听本机的客户端请求,如果注释掉不进行设置,则代表接收所有IP的请求。
bind 192.168.1.100 10.0.0.1
bind 127.0.0.1 ::1
bind 127.0.0.1
are explicitly listed using the “bind” directive.
是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只能本地进行访问,拒绝外部访问。
如果开启了密码和bind,可以开启。否则最好关闭,即设置为no。
protected-mode no
设置监听的端口号,默认是6379。如果设置0,则不监听任何tcp请求。
port 6379
在高并发环境下,并且客户端连接请求慢时,你需要设置更高的值。此值代表了TCP连接中已完成队列(完成三次握手之后)的长度,
此值必须会受到Linux系统下/proc/sys/net/core/somaxconn文件中值的限制,redis默认是511,而Linux的默认参数值是128。
所以我们得同时提高这2个值的大小,以至于能获得更好的性能以及预期的效果。一般会将它修改为2048或者更大。
在/etc/sysctl.conf中添加:net.core.somaxconn = 2048,然后在终端中执行sysctl -p
tcp-backlog 511
配置unix socket的路径,来让redis支持监听本地连接。
unixsocket /tmp/redis.sock
配置unix socket使用文件的权限。
unixsocketperm 700
此参数为设置客户端空闲超过timeout,服务端会断开连接,为0则服务端不会主动断开连接,不能小于0
timeout 0
tcp 保活。单位是秒。如果设置不为0,就使用配置tcp的SO_KEEPALIVE值。
使用keepalive有两个好处:
1. 检测挂掉的对端。
2. 降低中间设备出问题而导致网络看似连接却已经与对端端口的问题。
在Linux内核中,设置了keepalive,redis会定时给对端发送ack。检测到对端关闭需要两倍的设置值
tcp-keepalive 300
################################# GENERAL 基本 #####################################
是否在后台执行,yes代表后台运行。如果后台允许,会将服务pid写到/var/run/redis.pid文件中
daemonize yes
可以通过upstart和systemd管理Redis守护进程,这个参数是和具体的操作系统相关的。
supervised no
redis服务后台启动时,pid写入的文件位置
pidfile /var/run/redis_6379.pid
日志级别。
debug:记录大量日志信息,适用于开发和测试
verbose:较多日志信息
notice:适量日志信息,适用于生产环境
warning:仅有部分重要、关键信息才会被记录
loglevel notice
日志文件的位置,当指定为空字符串时,为标准输出,如果redis为守护进程模式运行,那么日志将会输出到 /dev/null
logfile “”
是否把日志记录到系统日志
syslog-enabled no
设置系统日志的id
syslog-ident redis
指定syslog设备,必须是user或则local0到local7
syslog-facility local0
设置数据库的数目。默认的数据库是DB 0 ,可以在每个连接上使用select 命令选择一个不同的数据库,dbid是一个介于0到databases - 1之间的数值。
databases 16
是否在交互式终端启动的时候显示log,不用管它就好,感觉没啥意义
always-show-logo yes
################################ SNAPSHOTTING 快照 ################################
保存数据到磁盘。格式是:save ,即在seconds秒之后至少有changes个keys发生改变则保存一次。
如果你不想保存数据到磁盘,则注释掉所有save行即可,也可改为save “”
save “”
save 900 1
save 300 10
save 60 10000
默认情况下,如果redis最后一次的后台保存失败,redis将停止接受写操作,这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘,
否则就会没人注意到灾难的发生。如果后台保存进程重新启动工作了,redis也将自动的允许写操作。
然而你要是安装了靠谱的监控,你可能不希望redis这样做,那你就改成no。
stop-writes-on-bgsave-error yes
是否在dump.rdb数据库的时候压缩字符串,默认设置为yes。如果你想节约一些cpu资源的话,可以把它设置为no,这样的话数据集就可能会比较大。
rdbcompression yes
是否CRC64校验rdb文件,会有一定的性能损失(大概10%)。
rdbchecksum yes
rdb文件的名字。
dbfilename dump.rdb
数据库存放目录。必须是一个目录,aof文件也会保存到该目录下。默认在启动脚本相同的目录下。
dir ./
################################# REPLICATION 主从复制 #################################
设置本机为slave服务,并且填写主节点的ip和端口号
replicaof
master的密码。如果master服务设置了密码保护,slave服务连接master时需要密码。
masterauth
当一个slave与master失去联系时,或者复制正在进行的时候,slave应对请求的2种行为:
1:如果设置yes(默认值),slave 仍然会应答客户端请求,但返回的数据可能是过时,或者数据可能是空的在第一次同步的时候;
2:如果设置no,在你执行除了info和replicaOF和AUTH…等之外的其他命令时,slave返回一个"SYNC with master in progress"的错误。
replica-serve-stale-data yes
设置slave是否是只读的。从2.6版起,slave默认是只读的。
replica-read-only yes
主从数据复制是否使用无硬盘复制功能。
repl-diskless-sync no
当五磁盘复制被开启时,等待5s后再开始复制,因为要等更多replica重新连接过来,可以公用一个RDB。如果不延迟等待可以设置为0
repl-diskless-sync-delay 5
指定slave定期ping master的周期,默认10秒钟。
repl-ping-replica-period 10
设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒 。
master node将rdb快照文件发送给replica node,如果rdb复制时间超过60秒,那么replica node就会认为复制失败,
可以适当调大这个参数(对于千兆网卡的机器,一般每秒传输 100MB,6G 文件,很可能超过 60s)
repl-timeout 60
指定向slave同步数据时,是否禁用socket的NO_DELAY选项。若配置为“yes”,则禁用NO_DELAY,则TCP协议栈会合并小包统一发送,
这样可以减少主从节点间的包数量并节省带宽,但会增加数据同步到slave的时间。若配置为“no”,表明启用NO_DELAY,
则TCP协议栈不会延迟小包的发送时机,这样数据同步的延时会减少,但需要更大的带宽。则TCP协议栈不会延迟小包的发送时机,
这样数据同步的延时会减少,但需要更大的带宽。 通常情况下,应该配置为no以降低同步延时,
但在主从节点间网络负载已经很高的情况下,可以配置为yes。
repl-disable-tcp-nodelay no
设置主从复制backlog容量大小。这个 backlog 是一个用来在 slaves 被断开连接时存放 slave 数据的 buffer,
所以当一个 slave 想要重新连接,通常不希望全部重新同步,只是部分同步就够了,
仅仅传递 slave 在断开连接时丢失的这部分数据。这个值越大,salve 可以断开连接的时间就越长。
repl-backlog-size 1mb
A value of 0 means to never release the backlog.
配置当master和slave失去联系多少秒之后,清空backlog释放空间。当配置成0时,表示永远不清空。
repl-backlog-ttl 3600
当master不能正常工作的时候,Redis Sentinel会从slaves中选出一个新的 master,这个值越小,
就越会被优先选中,但是如果是0,那是意味着这个slave不可能被选中。默认优先级为 100。
replica-priority 100
redis提供了可以让master停止写入的方式,如果配置了min-replicas-to-write,健康的slave的个数小于N,mater就禁止写入。
master最少得有N个健康的slave存活才能执行写命令。这个配置虽然不能保证N个slave都一定能接收到master的写操作,
但是能避免没有足够健康的slave的时候,master不能写入来避免数据丢失。设置为0是关闭该功能。
延迟小于min-replicas-max-lag秒的slave才认为是健康的slave
min-replicas-to-write 3
min-replicas-max-lag 10
################################## SECURITY 安全 ###################################
redis连接密码
总结
机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。
对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。
你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:
请转发本文支持一下
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
redis连接密码
总结
机会是留给有准备的人,大家在求职之前应该要明确自己的态度,熟悉求职流程,做好充分的准备,把一些可预见的事情做好。
对于应届毕业生来说,校招更适合你们,因为绝大部分都不会有工作经验,企业也不会有工作经验的需求。同时,你也不需要伪造高大上的实战经验,以此让自己的简历能够脱颖而出,反倒会让面试官有所怀疑。
你在大学时期应该明确自己的发展方向,如果你在大一就确定你以后想成为Java工程师,那就不要花太多的时间去学习其他的技术语言,高数之类的,不如好好想着如何夯实Java基础。下图涵盖了应届生乃至转行过来的小白要学习的Java内容:
请转发本文支持一下
[外链图片转存中…(img-edEzR2mI-1725712314444)]
[外链图片转存中…(img-LJdqRG3v-1725712314445)]
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0