redis学习-7-Redis配置文件介绍

3.Redis配置文件

  • 在 Redis 的安装目录中有一个名为 redis.windows.conf 的配置文件,若在 Linux 中则为 redis.conf。redis启动的时候需要此文件
3.1 文件内容
  • 配置文件unit单位对大小写不敏感。开头定义了一些基本的度量单位,只支持bytes,不支持bit。

在这里插入图片描述

  • 包含其他配置文件。类似:spring的import、jsp的include。经过includes包含,redis.conf能够做为总闸,包含其余

在这里插入图片描述

  • 修改保护模式,不修改保护模式也是只能内网访问的 protected-mode yes 改成 protected-mode no
  • always-show-logo no是否显示redis启动时的logo
  • stop-writes-on-bgsave-error yes:持久化失败后,是否停止写入.如:当redis无法写入磁盘的话,就停止redis的写操作。若是配置成no,表示你不在意数据不一致或者有其余的手段发现和控制
  • rdbchecksum yes 保存rdb文件的时候,还可让redis使用CRC64算法来进行数据校验,可是这样作会增长大约10%的性能消耗,若是无法获取到最大的性能提高,能够关闭此功能
  • maxclients 10000 设置同一时间能连接上redis的最大客户端的数量,默认无限制。当你没法设置进程文件句柄限制时,redis会设置为当前的文件句柄限制值减去32,由于redis会为自身内部处理逻辑留一些句柄出来。Redis能够同时打开的客户端链接数为Redis进程能够打开的最大文件描述符数,若是设置 maxclients 0,表示不做限制。若是达到了此限制,redis则会拒绝新的链接请求,而且向这些链接请求方发出“max number of clients reached”以做回应。
  • maxmemory-policy noeviction 内存处理策略,用于在超出内存限制时,删除一些key(最后名的配置记录右介绍6中策略)

扩展:4种线程池,5种阻塞队列,4种拒绝策略,5种线程池状态。 自定义线程池7参数

  • appendonlyno 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用
3.1查看配置项:
  • 使用 Redis 的CONFIG命令来查看或者更改 Redis 的配置信息。语法格式如下:
redis 127.0.0.1:6379> CONFIG GET 配置名称
  • 如:获取日志等级的配置项:
[root@VM-0-3-centos ~]# redis-cli -a xxxx
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "notice"
  • 通过使用*可以查看所有配置项,命令如下:
127.0.0.1:6379> CONFIG GET *
...
335) "lazyfree-lazy-user-flush"
336) "no"
337) "repl-diskless-sync-delay"
338) "5"
339) "cluster-replica-validity-factor"
340) "10"
341) "hash-max-ziplist-entries"
342) "512"
343) "slave-read-only"
344) "yes"

由于版本和操作系统的不同,配置项的数量会存在差异

3.2 更改配置项
  • 如果想要重新设置配置项,需要使用以下命令:
redis 127.0.0.1:6379> CONFIG SET 配置项名称 配置项参数值
#修改日志等级
127.0.0.1:6379> CONFIG SET loglevel "verbose"
OK
127.0.0.1:6379> CONFIG GET loglevel
1) "loglevel"
2) "verbose"
  • Redis 的日志级别有以下四种:
  1. debug:会打印出很多信息,适用于开发和测试阶段。
  2. verbose(冗长的):包含很多不太有用的信息,但比debug简化一些。
  3. notice:适用于生产模式。
  4. warning : 警告信息。
  5. Redis 默认设置为 verbose,开发测试阶段可以用 debug,生产模式一般选用 notice。
3.3 更改配置文件
  • Redis 某些配置信息无法直接通过命令修改,此时就需要修改配置文件,比如设置 Redis 允许远程连接的功能。配置文件修改如下:
1.注释掉本地IP地址,绑定要访问的外部IP
#bind 127.0.0.1 ::1
bind 192.168.1.1
2.关闭保护模式(把yes改为no)
protected-mode no
3.重启服务器,windows重启
redis-server --service-stop
redis-server --service-start
Linux重启
sudo /etc/init.d/redis-server restart
3.4 配置项说明
  • 配置项说明如下表:
配置项参数说明
daemonizeno/yes默认为 no,表示 Redis 不是以守护进程的方式运行,通过修改为 yes 启用守护进程。
pidfile文件路径当 Redis 以守护进程方式运行时,会把进程 pid 写入自定义的文件中。
port6379指定 Redis 监听端口,默认端口为 6379,存在被攻击的可能,如:挖矿。由于6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字
bind127.0.0.1绑定的主机地址,若要远程访问可以指定通配符*,也可注释掉,或者只绑定特定的IP。0.0.0.0是不清楚的主机和目的网络,0.0.0.0 是绑定到本机的所有IP上
timeout0客户端闲置多长秒后关闭连接,若指定为 0 ,表示不启用该功能。
loglevelnotice指定日志记录级别,支持四个级别:debug、verbose、notice、warning,默认为 notice。
logfilestdout日志记录方式,为空默认为标准输出,可以置为文件名。若是配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
databases16设置数据库的数量(0-15个)共16个,Redis 默认选择的是 0 库,可以使用 SELECT n命令来选择使用哪个数据库储存数据。
save[seconds] [changes]可以同时配置三种模式: save 900 1 save 300 10 save 60 10000表示在规定的时间内,执行了规定次数的写入或修改操作,Redis 就会将数据同步到指定的磁盘文件中。redis是内存数据库,如果没有持久化,那么数据断电及失!比如 900s 内做了一次更改,Redis 就会自动执行数据同步。
rdbcompressionyes/no当数据存储至本地时rdb文件后,是否要压缩rdb文件,默认为 yes。redis会采用LZF算法进行压缩。若是你不想消耗CPU来进行压缩的话,能够设置为关闭此功能,但会致使数据库文件变的巨大
dbfilenamedump.rdb指定本地存储数据库的文件名,默认为 dump.rdb。
dir./maxmemory指定本地rdb库存放目录,默认当前目录。
slaveof 主从复制配置选项当本机为 slave 服务时,设置 master 服务的 IP 地址及端口,在 Redis 启动时,它会自动与 master 主机进行数据同步。
requirepassfoobared 默认关闭密码配置项,默认关闭,用于设置 Redis 连接密码。如果配置了连接密码,客户端连接 Redis 时需要通过 密码认证。
maxmemory 最大内存限制配置项Maxclients指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会尝试清除已到期或即将到期的 Key,当此方法处理 后,若仍然到达最大内存设置,将无法再进行写入操作,但可以进行读取操作。
appendfilenameappendonly.aof指定 AOF 持久化时保存数据的文件名,默认为 appendonly.aof。
glueoutputbufyes设置向客户端应答时,是否把较小的包合并为一个包发送,默认开启状态。
Tcp-backlog设置tcp的backlog,backlog实际上是一个链接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。
在高并发环境下你须要一个高backlog值来避免慢客户端链接问题。注意Linux内核会将这个值减少到/proc/sys/net/core/somaxconn的值,因此须要确认增大somaxconn和tcp_max_syn_backlog两个值来达到想要的效果
Tcp-keepalive0单位为秒,若是设置为0,则不会进行Keepalive检测,建议设置成60

想全面了解配置选项,可以参考官方网站相关文档:点击前往

下一篇:redis学习-8-Redis数据类型与Lua脚本
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值