redis.conf 配置详解
网络
bind 127.0.5.1 # 绑定的ip
protected-mode yes # 保护模式
port 6379 # 端口设置
通用GENERAL
> daemonize yes # 以守护进程的方式运行,默认是no,我们需要自己开启为yes ! pidfile /var/run/redis_6379.pid # 如果以后台的方式运行,我们就需要指定一个 pid 文件!
# 日志
# specify the server verbosity leve1.# This can be one of:
# debug (a lot of information,usefu7 for development/testing)
# verbose (many rarely useful info, but not a mess like the debug 1eve1)
# notice (moderately verbose,what you want in production probab1y)生产环境
# warning (only very important / critica7 messages are logged)
log1evel notice
1ogfil1e "" # 日志的文件位置名
databases 16 # 数据库的数量,默认是16个数据库
always-show-logo yes # 是否总是显示LOGo
快照
持久化,在规定的时间内,执行了多少次操作,则会持久化到文件.rdb .aof
redis是内存数据库,如果没有持久化,那么数据断电及失!
# 如果900s内,如果至少有1个 key进行了修改,我们及进行持久化操作
save 900 1
# 如果300s内,如果至少10 key进行了修改,进行持久化操作
save 300 10
#如果60s内,如果至少10000 key进行了修改,进行持久化操作
save 60 10000
# 我们之后学习持久化,会自己定义这个测试!
stop-writes-on-bgsave-error yes # 持久化如果出错,是否还需要继续工作!
rdbcompression yes # 是否压缩rdb文件,需要消耗一些cpu资源!
rdbchecksum yes # 保存rdb文件的时候,进行错误的检查校验!
dir ./ # rdb文件保存的目录!
REPLICATION复制
主从复制
SECURITY 安全
可以在这里设置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 "123456" # 设置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 123456 # 使用密码进行登录!
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
限制CLIENTS
maxclients 10000 # 设置能连接上redis的最大客户端的数量
maxmemory <bytes> # redis 配置最大的内存容量
maxmemory-policy noeviction# 内存到达上限之后的处理策略
1、volatile-lru:只对设置了过期时间的key进行LRU(默认值)
2、allkeys-lru :删除lru算法的key
3、 volatile-random:随机删除即将过期key
4、allkeys-random:随机删除
5、 volatile-ttl :删除即将过期的
6、noeviction :永不过期,返回错误
APPEND ONLY 模式 aof 配置
appendon1y no # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,rdb完全够用!
appendfilename "appendonly.aof" # 持久化的文件的名字
# appendfsync always # 每次修改都会sync。消耗性能
appendfsync everysec # 每秒执行一次sync,可能会丢失这1s的数据!
# appendfsync no # 不执行sync,这个时候操作系统自己同步数据,速度最快!