单位
配置文件unit单位对大小写不敏感
INCLUDES(包含)
可以引入多个配置文件
NETWORK(网络)
bind 127.0.0.1 #绑定的ip
protected-mode yes #保护模式
port 6379 #端口设置
GENERAL(通用)
daemonize yes #以守护进程的方式运行,默认是no,需要自己开启为yes
pidfile /var/run/redis_6379.pid #如果以后台的方式运行,需要指定一个pid文件
#日志
# 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
logfile "" #日志文件位置名
databases 16 #数据库的数量,默认是16个数据库.
always-show-logo yes #是否开启LOGO
SNAPSHOTTING(快照)
持久化,在规定时间内,执行了多少次操作,则会持久化到文件 .rdb .aof
redis是内存数据库,如果没有持久化,数据就会断电即失
#900s内,如果至少有一个key进行了修改,我们旧金山持久化操作
save 900 1
#300s内,如果至少10个key进行了修改,我们就进行持久化操作
save 300 10
#60s内,如果至少10000个key进行了修改,我们就进行持久化操作
save 60 10000
stop-writes-on-bgsave-error yes #持久化如果出错,是否还需要继续工作
rdbcompression yes #是否压缩rbd文件,需要消耗cpu资源
rdbchecksum yes #保存rdb文件的时候,进行错误的检查校验
dir ./ #rdb文件保存的目录
SECURIT(安全)
可以设置redis的密码,默认是没有密码
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> config get requirepass #获取redis的密码
1) "requirepass"
2) ""
127.0.0.1:6379> config set requirepass "000000" #设置redis的密码
OK
127.0.0.1:6379> config get requirepass #不登陆命令都没有权限
(error) NOAUTH Authentication required.
127.0.0.1:6379> ping
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 000000 #使用密码进行登陆
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "000000"
CLIENRTS(限制)
maxclients 10000 #设置能连接上redis的最大客户端的数量
maxmemory <bytes> #redis配置最大的内存容量
maxmemory-policy noeviction #内存到达上限之后的额处理策略
- volatile-lru:只对设置了过期时间的key进行LRU(默认值)
- allkeys-lru : 删除lru算法的key
- volatile-random:随机删除即将过期key
- allkeys-random:随机删除
- volatile-ttl : 删除即将过期的
- noeviction : 永不过期,返回错误
APPEND ONLY MODE(模式)
appendonly no #默认是不开启aof模式的,默认是使用rdb方式持久化的
appendfilename "appendonly.aof" #持久化的文件名字
# appendfsync always #每次修改都会sync,消耗性能
appendfsync everysec #每秒执行一次sync,可能会丢失这1秒的数据
# appendfsync no #不执行sync,这个时候操作系统自己同步数据,速度最快