配置文件(进阶基础)
redis-server启动时根据配置文件运行,该文件通常在/etc/redis.conf
进行配置可以直接编写配置文件,也可以通过客户端命令:CONFIG SET field value
内存配置的单位
# 以下均可,且大小写不敏感,例如: gb=GB=gB=Gb
1k => 1000 bytes
1kb => 1024 bytes
1m => 1000000 bytes
1mb => 1024*1024 bytes
1g => 1000000000 bytes
1gb => 1024*1024*1024 bytes
包含导入
# 对同一参数的重复配置以最后出现的为准
# 导入其他配置文件(个性配置),会加入到当前配置文件(主配置)
# 实际使用时应放到后面,以覆盖主配置文件的一些设置,也可根据情况进行安排导入位置,达到部分可个性配置,部分不可的需求
# include /path/to/local.conf
# include /path/to/other.conf
网络配置
# ip设置,默认只能本机连接
bind 127.0.0.1
# 保护模式,默认开启
protected-mode yes
# 端口设置,默认的6379,0表示不监听
port 6379
通用配置
# 以守护进程的方式运行,默认为no,需要配置为yes,设置为yes需要配置pid文件
daemonize yes
# 如果以守护进程运行,需要指定pid文件,当一台主机启动多个服务时应设置为不同的文件名,不可重复,该文件不必创建
pidfile "/var/run/redis_6379.pid"
# 日志级别,默认为notice
# debug verbose notice warning
loglevel notice
# 日志文件的存储位置
logfile "/var/log/redis/redis.log"
# 数据库数量,默认为16个,0~15号
databases 16
快照配置(RDB配置)
# RDB策略的持久化规则
# 默认为60秒内写入10000次将持久化一次,其他两者同理
save 900 1
save 300 10
save 60 10000
# 持久化出错后是否继续工作,默认为yes
stop-writes-on-bgsave-error yes
# 是否压缩rdb文件,默认为yes
rdbcompression yes
# 是否校验rdb文件
rdbchecksum yes
# rdb文件的文件名称
dbfilename "dump.rdb"
# rdb或aof文件的保存目录
dir "/var/lib/redis"
复制配置
# 该主机是哪个主机的从机
# slaveof <masterip> <masterport>
# 主机的密码
# masterauth <master-password>
slave-serve-stale-data yes
# 从机只读,默认为yes
slave-read-only yes
# 从机的优先级,即被选为主机的优先级,,值越小优先级越高,但0表示不能设置为主机,默认为100
slave-priority 100
安全配置
# 是否需要密码验证,默认被注释也即不需要
# requirepass foobared
# 例如设置为123456
requirepass 123456
# 命令重命名
# 通过把危险的命令重命名为空字符串或特殊字符串,可以实现一般人难以执行或不能执行
# 例如FLUSHALL FLUSHDB CONFIG SET KEYS SHUTDOWN等
# rename-command CONFIG ""
限制设置
# 客户端的最大数量
# maxclients 10000
# 最大内存容量,单位为字节
# maxmemory <bytes>
# 内存溢出策略
# volatile-lru 对设置了过期时间的键使用LRU算法进行移除
# allkeys-lru 使用LRU算法移除
# volatile-random 随机移除设置了过期时间的键
# allkeys-random 随机移除任意键
# volatile-ttl 移除距离过期最近的一些键
# noeviction 永不移除,返回错误
# maxmemory-policy noeviction
AOF配置
# AOF是否开启,默认不开启
appendonly no
# aof文件的文件名称
appendfilename "appendonly.aof"
# AOF策略的持久化规则,总是,每秒,从不
# appendfsync always
appendfsync everysec
# appendfsync no
# 重写时不追加,默认不开启,建议保持默认
no-appendfsync-on-rewrite no
# 文件大小每翻倍一次就自动执行一次重写,0表示不重写
auto-aof-rewrite-percentage 100
# 文件大小小于64mb时不进行重写
auto-aof-rewrite-min-size 64mb
# 如果载入时发现aof文件被截断(即末尾命令不完整)也进行启动,忽略最后的不完整命令,但会提示存在文件截断
# 如果设置为no,则直接报错
# 什么时候会截断?缓冲区写入aof文件时断电或崩溃等
aof-load-truncated yes
配置命令
# 并非所有配置都支持命令行形式进行配置,最好还是通过配置文件进行配置,更加灵活
# CONFIG SET|CONFIG GET|CONFIG REWRITE
# 密码
# 查看密码,默认密码为空,即无密码
127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) ""
# 设置密码
127.0.0.1:6379> CONFIG SET requirepass 123456
OK
# 设置后再进行操作会被拒绝,要求验证密码
127.0.0.1:6379> CONFIG GET requirepass
(error) NOAUTH Authentication required.
# 验证密码
127.0.0.1:6379> AUTH 123456
OK
# 此时又可以正常操作
127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) "123456"
# 注意:此时密码配置并未写入配置文件,重启redis服务后会失效
# 将命令行进行的配置写入配置文件
127.0.0.1:6379> CONFIG REWRITE
OK
# 常见配置项
appendonly requirepass等
#redis##java#Redis 文章被收录于专栏
此专栏由于更新观看不便,不会保持及时更新,最新更新见计算机合集专栏https://www.nowcoder.com/creation/manager/columnDetail/04yp33