Redis.conf详解
启动的时候,就通过配置文件来启动!
单位
- 配置文件unit单位对大小写不敏感
包含
- 就是好比我们学习Spring、Import、Include可以把其他的配置文件包含进来。
网络
bind可以指定当前可以访问redis的ip地址
- bind 127.0.0.1 # 绑定的ip
- protected-mode yes # 保护模式
- port # 端口设置
通用
- daemonize yes #以守护进程的方式运行,默认是no,我们需要自己开启为yes!
- pidfile /var/run/redis_6379.pid #如果以后台的方式运行,我们就需要指定一个pid文件!
- loglevel notice
- logfile “” #日志的文件位置名
- databases 16 #数据库的数量,默认是16个
- always-show-logo yes #是否总是显示LOGO
快照
持久化,在规定的时间内,执行了多少次操作,则会持久化到文件.rdb.aof
redis是内存数据库,如果没有持久化,那么数据断电即失!
#如果900秒内,如果至少有一个key进行了修改,那么我们就进行持久化操作
save 900 1
#如果300秒内,如果至少有100key进行了修改,那么我们就进行持久化操作
save 300 100
#如果60秒内,如果至少有10000key进行了修改,那么我们就进行持久化操作
save 60 10000
# 我们之后学习持久化,会自己定义这个测试!
stop-writes-on-bgsave-error yes #持久化如果出错,是否还需要继续工作!
rdbcompression yes #是否压缩rdb文件,需要消耗一些cpu资源!
rdbchecksum yes #保存rdb文件的时候,进行错误的检查校验!
dir ./ #rdb文件保存的目录!
REPLICATION复制,我们后面讲解主从复制的时候再进行讲解
SECURITY 安全
requirepass foobared
设置密码: config set requirepass “123456”
可以在这里设置redis的密码,默认是没有密码!
限制 CLIENTS
maxclients 10000 #设置能连接上redis的最大客户端的数量
maxmemory <bytes> #redis配置最大的内存容量
maxmemory-policy noeviction #内存到达上限之后的处理策略 # 移除一些过期的key #报错 等等
redis内存达到上限之后的处理策略:(现在有8种)
-
volatile-lru:从设置过期时间的数据集(server.db[i].expires)中挑选出最近最少使用的数据淘汰。没有设置过期时间的key不会被淘汰,这样就可以在增加内存空间的同时保证需要持久化的数据不会丢失。
-
volatile-ttl:除了淘汰机制采用LRU,策略基本上与volatile-lru相似,从设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰,ttl值越大越优先被淘汰。
-
volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰。当内存达到限制无法写入非过期时间的数据集时,可以通过该淘汰策略在主键空间中随机移除某个key。
-
allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰,该策略要淘汰的key面向的是全体key集合,而非过期的key集合。
-
allkeys-random:从数据集(server.db[i].dict)中选择任意数据淘汰。
-
no-enviction:禁止驱逐数据,也就是当内存不足以容纳新入数据时,新写入操作就会报错,请求可以继续进行,线上任务也不能持续进行,采用no-enviction策略可以保证数据不被丢失,这也是系统默认的一种淘汰策略。
APPEND ONLY 模式 aof配置
appendonly no #默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename “appendonly.aof” # 持久化的文件的名字 .rdb
具体的配置在Redis持久化中详解