单位
redis启动的时候会去读配置文件redis.conf
1k=>1000bytes1kb=>1024bytes1m=>1000000bytes1mb=>1024*1024bytes1g=>1000000000bytes1gb=>1024*1024*1024bytes复制代码
redis里面单位是不分大小写的,例如,1GB1Gb1gB表示的都是同一个意思
INCLUDES包含
环境中使用的redis.conf可以包含其他的redis.conf,他们会整合成一个配置文件来提供使用
NETWORK网络
bind0.0.0.0protected-modeyesport6379复制代码
bind
绑定地址,若绑定127.0.0.1是本地访问,若需要远程访问,可以绑定一个真实的ip地址
protected-mode
保护模式是否开启,默认是开启
port
端口设置,默认端口是6379,我们也可以修改成其他的可用端口,例如集群的时候就会修改到端口
GENERAL通用
通用配置,常用的有
daemonizeyespidfile/var/run/redis_6379.pidloglevelnoticelogfile""databases16always-show-logonoset-proc-titleyes复制代码
daemonize
是否以守护进程的方式运行,默认是no,我们需要的话可以修改成yes
pidfile
以后台方式运行redis,我们就需要制定一个pid文件
loglevel
日志等级
291#Specifytheserververbositylevel.292#Thiscanbeoneof:293#debug(alotofinformation,usefulfordevelopment/testing)294#verbose(manyrarelyusefulinfo,butnotamesslikethedebuglevel)295#notice(moderatelyverbose,whatyouwantinproductionprobably)296#warning(onlyveryimportant/criticalmessagesarelogged)复制代码
和我们项目中用到的一致:
用于开发和测试的调试信息
罕见有用的信息
提示信息,期望在生产环境中看到的
告警信息,重要的信息会被打印到日志中
logfile
指定redis日志文件路径
databases
redis数据库,默认是16个
always-show-logo
是否总是显示reidslogo,就是下面这个logo
_.__.-``__''-.__.-```.`_.''-._Redis6.2.5(00000000/0)64bit.-``.-```.```\/_.,_''-._(',.-`|`,)Runninginstandalonemode|`-._`-...-`__...-.``-._|'`_.-'|Port:6379|`-._`._/_.-'|PID:29303`-._`-._`-./_.-'_.-'|`-._`-._`-.__.-'_.-'_.-'||`-._`-.__.-'_.-'|https://redis.io`-._`-._`-.__.-'_.-'_.-'|`-._`-._`-.__.-'_.-'_.-'||`-._`-.__.-'_.-'|`-._`-._`-.__.-'_.-'_.-'`-._`-.__.-'_.-'`-.__.-'`-.__.-'复制代码
SNAPSHOTTING快照
快照,这里也就是redis的持久化,在规定的时间里面,执行了多少次操作,就会持久化到文件中
redis的持久化有两种
redis是内存数据库,程序宕机或者断电都会导致数据丢失,因此redis就有这样的持久化策略
#save36001#save300100#save6010000复制代码
如果3600s内redis发生了1次操作,那么就会做数据持久化
如果300s内redis发生了100次操作,那么就会做数据持久化
如果60s内redis发生了10000次操作,那么就会做数据持久化
后面咱们详细写到持久化的时候,再来细说和实际测试持久化的事情
stop-writes-on-bgsave-erroryesrdbcompressionyesrdbchecksumyesdir./复制代码
stop-writes-on-bgsave-error
redis持久化出错是否继续执行redis程序,默认是打开的,持久化错误不能影响redis程序的执行,需要正常进行下去
rdbcompression
持久化的文件是否需要压缩,默认是开启的,这个功能会比较消耗性能
rdbchecksum
保存rdb持久化文件的时候,会进行错误检查校验
dir
rdb文件的保存目录
REPLICATION主从复制
主从复制的配置在这个位置
详细的后续写到主动复制的时候详细的写
SECURITY安全
redis的安全相关配置文件,咱们来看看密码的事情
#TherequirepassisnotcompatablewithaclfileoptionandtheACLLOAD#command,thesewillcauserequirepasstobeignored.##requirepassfoobared复制代码
redis默认是不设置密码的,但是我们为了远程访问安全,必须要设置密码
127.0.0.1:6379>pingPONG127.0.0.1:6379>configgetrequirepass1)"requirepass"2)""127.0.0.1:6379>configsetrequirepass888888OK127.0.0.1:6379>pingPONG127.0.0.1:6379>configgetrequirepass1)"requirepass"2)"888888"退出redis客户端,再次连接redis-serverroot@iZuf66y3tuzn4wp3h02t7pZ:~#redis-cli127.0.0.1:6379>ping(error)NOAUTHAuthenticationrequired.复制代码
对redis设置了密码之后,退出redis客户端,再次连接redis-server,发现redis报错权限不足,此时我们使用redis-client连接redis-server就需要密码了
127.0.0.1:6379>auth888888OK127.0.0.1:6379>pingPONG127.0.0.1:6379>configgetrequirepass1)"requirepass"2)"888888"复制代码
CLIENTS客户端
限制客户端连接数
bind0.0.0.0protected-modeyesport6379复制代码0
maxclients
redis限制客户端连接数默认是10000个,这个数字我们也可以修改成我们所期望的
MEMORYMANAGEMENT内存管理
bind0.0.0.0protected-modeyesport6379复制代码1
maxmemoryredis配置的最大内存容量,单位是字节
maxmemory-policy
redis内存达到上限之后的处理策略是什么样的,有如下几个选型:
永不过期,返回错误
删除即将过期的
随机删除key
随机删除即将过期的key
删除lru算法的key
只对设置了过期时间的key进行LRU
LRU(Leastrecentlyused,最近最少使用)
APPENDONLYMODE追加模式(aof配置)
APPENDONLYMODE用于AOF的持久化
bind0.0.0.0protected-modeyesport6379复制代码2
appendonly
默认是关闭的,redis默认使用的是rdb持久化模式,基本是够用的
appendfilename
aof持久化文件的名字
appendfsync
持久化同步策略
- always每次修改都会同步,消耗性能
- everysec每秒执行一次同步,异常情况下会丢失上1s的数据
- no不主动同步数据,系统会自动同步,这种方式速度最快,但是丢失数据的几率大
对于redis配置文件常用常改的位置都给大家分享到了,需要多多在实际学习和工作中多多应用,熟能生巧