8. Redis.conf

8.1 docker配置redis.conf

docker在一开始运行的时候是没有配置文件的,需要手动挂载。

# 1. 创建配置文件目录,这里使用/usr/local/redis
	mkdir -p /usr/local/redis

# 2. 获取redis.conf配置文件,这里我使用第二种方式
# 方式一:可以直接创建空redis.conf文件,将配置复制进去
# 方式二:也可以下载redis,将redis.conf文件拷到之前配置的目录下,查看是否安装wget,没安装先安装,已安装跳过
	yum -y install wget

# 3.下载、解压redis
	wget http://download.redis.io/releases/redis-5.0.8.tar.gz

	cd redis-5.0.8.tar.gz

	tar -zxvf redis-5.0.8.tar.gz

# 4.将配置文件移动到我们自定义的配置目录下
	mv redis.conf /usr/local/redis

# 5. 指定redis.conf目录与dump.rdb目录
	docker run -itd --name myredis -v /usr/local/redis/redis.conf:/etc/redis.conf -v /root/usr/local/redis/data:/data -p 6379:6379 -d redis:5.0.8 redis-server /etc/redis.conf
	
	参数详解:
	-p (指定端口) 对外暴露端口:容器内部端口(redis.conf内部配置端口)
	-v 挂载目录 将当前宿主机的conf文件挂载到容器conf文件
	-v  ..    将当前宿主机的data目录挂载到容器的data目录
	-d 在后台启动并使用 容器的conf文件

8.2 分析配置文件

8.2.1 单位

在这里插入图片描述
配置文件 unit单位 忽略大小写!

8.2.2 包含(INCLUDE)

在这里插入图片描述
相当于Spring中配置文件的import、include,一个文件可以引用多个配置文件

8.2.3 网络(NETWORK)

# 绑定的ip
bind 127.0.0.1 

# 保护模式
protected-mode yes

# 端口设置
port 6379  

8.2.4 通用(GENERAL)

# 以守护进程的方式运行,默认是 no,我们需要自己开启为yes
daemonize yes  

# 如果以后台的方式运行,我们就需要指定一个 pid 文件!
pidfile /var/run/redis_6379.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 "" 

# 数据库的数量,默认是 16 个数据库
databases 16  

# 是否总是显示LOGO
always-show-logo yes  

8.2.5 快照(SNAPSHOTTING)

在规定的时间内,执行了多少次操作,则会持久化到文件.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  

# 是否压缩 rdb 文件,需要消耗一些cpu资源!
rdbcompression yes 

# 保存rdb文件的时候,进行检查校验!
rdbchecksum yes 

# rdb 文件保存的目录!
dir ./  

8.2.6 安全(SECURITY)

外部设置密码

# 获取是否有密码
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> ping
(error) NOAUTH Authentication required.

# 设置成功后,需要输入密码才可以访问
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG

# 清除密码
127.0.0.1:6379> config set requirepass ""
OK
127.0.0.1:6379> ping
PONG

配置文件设置密码

# requirepass foobared

8.2.7 限制 (CLIENTS)

# 设置能连接上redis的最大客户端的数量
maxclients 10000

# redis 配置最大的内存容量
maxmemory <bytes>

# 内存到达上限之后的处理策略
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 : 默认,永不过期,返回错误

8.2.8 AOF配置 (APPEND ONLY 模式)

# 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分的情况下,rdb完全够用!
appendonly no   

# 持久化文件的名字
appendfilename "appendonly.aof" 

# 每次修改都会 sync。消耗性能
# appendfsync always  
# 每秒执行一次 sync,可能会丢失这1s的数据!
appendfsync everysec  

# 不执行 sync,这个时候操作系统自己同步数据,速度最快!
# appendfsync no   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值