Redis学习笔记:配置文件

这是个人的学习笔记,主要学习资料如下:

  • B站狂神说,Redis教程


1、配置文件redis.cofig

redis的配置文件就在安装目录下,redis.config文件,我使用brew安装,默认安装目录是/usr/local/etc

1.1、命令修改配置项

  • 查看配置项:启动以后,我们可以直接使用config get key的方式来查看配置项,例子如下,获得的配置项的值确实是我设置的,不是默认值。

在这里插入图片描述

  • 动态设置配置项:config set key value。需要注意的一点是,修改配置项不会修改到原配置文件,只是修改『redis当前正在使用的配置信息』。
127.0.0.1:6379> config get save
1) "save"
2) "3600 1 300 100 60 10000"
127.0.0.1:6379> config set save "10 10"
OK
127.0.0.1:6379> config get save
1) "save"
2) "10 10"



1.2、配置项详解

  • include多个配置文件:35行的位置,可以include其他路径的配置文件。
    在这里插入图片描述

  • 绑定的ip:69行。默认指定本机,意思是只接受来自本机的redis请求。如果我们想要接受外部的请求,那要用修改这项内容,其中会用到一些通配符。
    如果这一项没有配置,那意味着本机的redis服务会接收所有的请求,相当于直接暴露给外部,这非常危险。

bind 127.0.0.1 ::1
  • 绑定端口号:92行,默认监听6379端口号。
port 6379
  • 安全模式:88行。默认是开启的,如果关闭了,那意味着redis服务端可以接受没有验证过的请求。
protected-mode yes

通用配置

  • 设置redis服务为守护进程:136行。默认不是守护进程,如果设置为守护进程的话,会产生redis.pid文件。建议开启,这样redis服务就不会突然自己就结束。
daemonize no
  • 指定redis.pid文件地址:158行。当redis被设置成守护进程时,系统会根据这个地址产生redis.pid文件。默认值是/var/run/redis_6379.pid
    这个文件即使生成失败,也不会影响redis服务的运行。

  • 指定redis的日志级别:166行。可以指定redis的日志级别,可选的级别可看备注。默认的级别是notice

# Specify the server verbosity level.
# This can be one of:
# debug (a lot of information, useful for development/testing)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel notice
  • 设置日志文件地址:171行。可以指定redis产生的日志的位置。默认值是空,这时redis会将日志信息输出到标准输出流之中。
logfile ""
  • 数据库的个数:186行。默认16个
databases 16
  • 是否显示logo:194行。这个logo指的是使用指令redis-sever启动redis服务时,打印出来的那个巨大盒子logo。
    在这里插入图片描述
always-show-logo yes

快照设置(RDB存储)

RDB和AOF是什么

RDB是Redis Data Base的缩写,AOF是Append Only File的缩写。



配置信息
  • 设置保存快照的时间规则:218行。保存规则是,累计有y条数据被改变,那在x秒后会持久化一次。语法是 sava x y。可以同时设置多条规则。默认有三条规则,如代码所示。
save 900 1
save 300 10
save 60 10000
  • 持久化发生错误时,是否继续工作:235行。默认情况下,只要发生持久化错误,redis就会停止服务(但不是完全停止,之后是有机会自动在开启服务的)。这算是一个强提醒,提醒开发者持久化失败。
    如果持久化工作又重新开始,那redis又会开启服务(原注释是再次允许写入,Redis will automatically allow writes again,我理解成再次开启服务,待验证)。
stop-writes-on-bgsave-error yes
  • 是否压缩持久化文件:241行。默认开启压缩,这会消耗一定的CPU资源。
rdbcompression yes

  • 是否持久化文件校验:250行。校验持久化文件,让文件格式更好(反正就是表现更好)。但是会对性能有较大的消耗,注释文档说大概有10%的损耗。默认是开启校验的。
rdbchecksum yes

  • 持久化文件的文件名:253行。默认是dump.rdb文件。
dbfilename dump.rdb
  • 持久化文件保存路径:263行。注意是目录,不是文件。默认值是/usr/local/var/db/redis/
dir /usr/local/var/db/redis/



快照设置(AOF存储)

  • 设置快照模式:699行。默认是RDB模式。
appendonly no

  • 设置存储文件名:703行。默认名是appendonly.aof
appendfilename "appendonly.aof"

  • 设置同步时间:729行。操作系统也有自己的策略去同步数据,我们无法控制操作系统的策略。这个选项是强制要求操作系统同步数据的时间。
# appendfsync always 一有修改,就同步一次
appendfsync everysec # 每秒同步一次
# appendfsync no 不同步,让操作系统想什么时候同步就什么时候同步



主从复制设置



安全设置

  • 设置访问密码:507行。这条设置默认被注释掉,表示不需要密码就可访问redis服务。我们可以设置密码,语法是requirepass password(不知道为什么文档要写成foobared)
requirepass foobared

如果设置了密码,要先使用```auth password```先登录,之后才可以继续其它操作。

客户端设置

  • 设置最大连接数:539行。默认支持最大10000个客户端连接redis服务。
maxclients 10000

  • 设置redis可占用的最大内存:566行。单位是byte,有个默认大小,注释文档没写多少。
maxmemory <bytes>

  • 内存不够时的处理策略:597行。有多个处理策略可选,详细可看注释,默认是noeviction,也就是什么都不管,直接抛出异常返回。
# volatile-lru -> Evict using approximated LRU among the keys with an expire set.
# allkeys-lru -> Evict any key using approximated LRU.
# volatile-lfu -> Evict using approximated LFU among the keys with an expire set.
# allkeys-lfu -> Evict any key using approximated LFU.
# volatile-random -> Remove a random key among the ones with an expire set.
# allkeys-random -> Remove a random key, any key.
# volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
# noeviction -> Don't evict anything, just return an error on write operations.
maxmemory-policy noeviction

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值