这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战
hello,你好呀,我是灰小猿,一个超会写bug的程序猿!
在平常进行项目的定制型开发的时候,我们往往需要对Redis的配置文件做一定的修改,因此对Redis的配置文件的使用是比较重要的,接下来我们就对Redis配置文件的结构作一个简单的介绍。
Redis配置文件详解
很多小伙伴在安装软件的时候不喜欢看配置文件,但是对于这种常用的开发软件来说,常用的一些配置都是可以在配置文件中找到并为定制化开发进行修改的。搞懂了配置文件,也就是搞懂了这个软件的参数设置是从哪里来的。
工欲善其事必先利其器,所以我们使用Redis,那么读懂Redis的配置文件也是非常重要的!接下来我就给大家讲解一下Redis的配置文件中,主要的一些关键配置。
Redis的配置文件在Redis的目录文件下,有两个,分别是:
- redis.windows.conf 客户端配置文件
- redis.windows-service.conf 服务器配置文件
这两个文件里面的内容大体一样,我这里以redis.windows.conf 为例,按照顺序从上往下给大家讲解其中的关键配置:
NETWORK 网络部分
这部分主要是配置Redis连接的,从配置文件中就可以看出Redis使用的是TCP协议进行连接
################################## NETWORK #####################################
# 连接的ip地址
bind 127.0.0.1
# 保护模式
protected-mode yes
# 端口设置
port 6379
# TCP连接配置,连接数
tcp-backlog 511
# TCP连接超时时间
timeout 0
# TCP保持连接时间
tcp-keepalive 300
GENERAL 通用配置
通用配置部分主要配置日志信息,如果想要修改Redis操作日志,可以在这一部分修改。
################################# GENERAL 通用配置 #####################################
# 日志配置
loglevel notice
# 生成的日志文件名
logfile ""
# 默认的数据库配置 默认16个数据库
databases 16
# 是否显示logo
always-show-logo yes
SNAPSHOTTING 快照
这部分主要是做持久化的,定义数据多久保存一次,以及保存的一些配置、
################################ SNAPSHOTTING 快照 ################################
# 在规定时间内执行了多少次操作,则会持久化到文件
# 如果900秒内,至少有1个key进行了修改,就进行持久化操作,下面含义一样
save 900 1
save 300 10
save 60 10000
# 持久化出错后是否继续工作
stop-writes-on-bgsave-error yes
# 是否压缩rdb文件,压缩会消耗cpu资源
rdbcompression yes
# 保存rbd文件时,是否校验rdb文件
rdbchecksum yes
# db文件名
dbfilename dump.rdb
# rdb文件的保存目录
dir ./
SECURITY 安全配置
安全部分主要是用于设置Redis的访问密码。设置密码之后,使用Redis之前就需要输入密码了,默认是没有密码的。一般也不建议设置。
################################## SECURITY 安全 ###################################
# 设置密码 requirepass 123456
# requirepass foobared
CLIENTS 客户端限制
主要参数是配置服务器能够连接的最大客户端数量
################################### CLIENTS 客户端限制####################################
# 最大连接客户端数
# maxclients 10000
MEMORY MANAGEMENT 内存管理
这部分主要是配置Redis的最大内存,以及在内存满的情况下,做出怎样的清除策略,Redis默认是不清除,六大清除策略分别是:
- volatile-lru:只对设置了过期时间的key进行LRU(默认值)
- allkeys-lru:删除LRU算法的key
- volatile-random:随机删除即将过期的key
- allkeys-random:随机删除
- volatile-ttl:删除即将过期的
- noeviction:永不过期,返回错误
############################## MEMORY MANAGEMENT 内存管理 ################################
# Redis配置最大内存
# maxmemory <bytes>
# The default is: 默认不清除
# 内存到达上限之后的处理策略
# 1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
# 2、allkeys-lru:删除LRU算法的key
# 3、volatile-random:随机删除即将过期的key
# 4、allkeys-random:随机删除
# 5、volatile-ttl:删除即将过期的
# 6、noeviction:永不过期,返回错误
# maxmemory-policy noeviction
以上是一些主要的配置,也是平常在开发中可能会去修改的一些参数,下一篇我们来总结一下在Redis中都有哪些常见的面试题。
我是灰小猿,我们下期见!