一、配置文件
1. protected-mode :【yes/no】是否处于保护模式,保护模式下只能自己的主机才可以访问
2. bind:绑定访问主机的ip地址,如果开启的话,其他主机无法访问
3. timeout:【>=0】空闲连接超过多长时间,断开连接,0则不断开连接
4. daemonize: 【yes/no】是否后台运行
5. databases:设置数据库的数量
6. requirepass:设置用户密码
RDB备份配置
7. dbfilename:备份文件名称
8. dir:RDB备份文件位置
9. save:备份时间间隔
AOF备份配置
10.appendonly:【yes/no】是否开启AOF备份
11.appendfilename:AOF备份文件名称
12.appendfsync:everysec 设置的是AOF的同步方式,每秒同步一次
二、设置密码
1. 配置文件中设置
requirepass test123;(重启后生效)
2. 命令设置
config set requirepass test123
3. 登录验证
redis-cli -p 6379 -a test123
登录后验证:auth test123
三、redis数据持久化
redis的数据持久化有两种方式:RDB(指定时间间隔内保存数据快照),AOF(把命令追加到尾部,记录所有的操作)
1.RDB备份
备份命令:save
缺点:
因为是特定条件下进行一次持久化(每隔一段时间),就可能会导致一旦redis崩溃,再次回复时,可能会导致部分数据丢失。
2.AOF备份
在配置文件中设置相关的配置即可
缺点:
1)因为AOF模式要把每一步redis命令都记录下来,所以就导致文件的体积会很大
2)而且会导致速度低于RDB,并且恢复速度慢
四、redis主从复制配置
一个redis服务器可能会宕机,所有就需要有多台服务器来提高可用性,一般来说单台redis服务器不超过20G。
默认情况下,所有的redis都是主节点
配置:只用配置从库,不用配置主库
1. info replication 查看当前库的信息
2. logfile : 修改日志文件位置(同一台服务器上测试的话就不能一样)
3. port:端口(同一台服务器上测试的话就不能一样)
4. pidfile:进程文件(同一台服务器上测试的话就不能一样)
5. dbfilename:备份文件名称(同一台服务器上测试的话就不能一样)
6. slaveof host port 执行命令这条命令,认主机上的redis为 主(在从机上执行)暂时
配置文件中设置(永久的)
7. slaveof <masterip> <masterport>
8. masterauth : 主服务器的密码
9. slaveof no one :使自己变为主机
主机断开,从机还是连接在主机上,重新启动,又会连接
哨兵模式:自动切换主机
配置sentinel.conf 文件
1.#配置端口
port 26379
2.#以守护进程模式启动
daemonize yes
3.#日志文件名
logfile "sentinel_26379.log"
4.#存放备份文件以及日志等文件的目录
dir "/opt/redis/data"
5.#监控的IP 端口号 名称 sentinel通过投票后认为mater宕机的数量,此处为至少2个
sentinel monitor mymaster 192.168.14.101 6379 2
6.#30秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds mymaster 30000
7.#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs mymaster 1
8.#故障转移开始,三分钟内没有完成,则认为转移失败
sentinel failover-timeout mymaster 180000
9.#主节点密码
sentinel auth-pass mymaster 123
启动哨兵:
redis-sentinel sentinel.conf
特点:
1. 主机只能写,存数据
2. 从机只能读取数据
3. 连接到主机,就会全量复制,然后会增量复制