Redis

第4章 Redis持久化

RDB 持久化优缺点
可以在指定的时间间隔内生成数据集的 时间点快照(point-in-time snapshot)。
优点:速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的。
缺点:会有数据丢失

rdb持久化核心配置参数:

vim /data/6379/redis.conf
dir /data/6379
dbfilename dump.rdb
save 900 1      #900秒(15分钟)内有1个更改
save 300 10     #300秒(5分钟)内有10个更改
save 60 10000   #60秒内有10000个更改  

AOF 持久化(append-only log file)优缺点

记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。
AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。
优点:可以最大程度保证数据不丢
缺点:日志记录量级比较大

AOF持久化配置

appendonly yes          #是否打开aof日志功能
appendfsync always      #每1个命令,都立即同步到aof
appendfsync everysec    #每秒写1次
appendfsync no          #写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof.

4.2 面试题

redis 持久化方式有哪些?有什么区别?
rdb:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能
aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog

第5章 Redis安全认证

redis默认开启了保护模式,只允许本地回环地址登录并访问数据库。
禁止protected-mode
protected-mode yes/no (保护模式,是否只允许本地访问)
(1)Bind :指定IP进行监听

[root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf
bind 10.0.0.51  127.0.0.1

(2)增加requirepass {password}

[root@db01 ~]# vim /opt/redis_cluster/redis_6379/conf/redis_6379.conf
requirepass 123456

验证方法一:

[root@db01 ~]# redis-cli -a 123456
127.0.0.1:6379> set k1 v1
OK

验证方法二:

[root@db01 ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set k2 v2
OK

第6章 Redis主从复制

6.1 主从复制介绍
主从复制介绍
在分布式系统中为了解决单点问题,通常会把数据复制多个副本到其他机器,满足故障恢复和负载均衡等求.
Redis也是如此,提供了复制功能.
复制功能是高可用Redis的基础,后面的哨兵和集群都是在复制的基础上实现高可用的.

6.2 配置命令
6.2.1 建立复制
每个从节点只能有一个主节点,主节点可以有多个从节点.
配置复制的方式有三种:

 1.在配置文件中加入slaveof {masterHost} {masterPort} 随redis启动生效.
2.在redis-server启动命令后加入—slaveof {masterHost} {masterPort}生效.
3.直接使用命令:slaveof {masterHost} {masterPort}生效.

查看复制状态信息命令

[root@db02 redis]#redis-cli -h 192.168.8.129 -p 6389 Info replication

role:slave
master_host:192.168.8.129
master_port:6379
master_link_status:down #判断主从的状态
master_last_io_seconds_ago:-1
master_sync_in_progress:0
slave_repl_offset:6944
master_link_down_since_seconds:36
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:f5e832ff2286e808608ecfd7a157f204da06c10f
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:6944
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:6889
repl_backlog_histlen:56

6.2.2 断开复制
Slaveof命令不但可以建立复制,还可以在从节点执行slaveof no one来断开与主节点复制关系.
断开复制主要流程:

1.断开与主节点复制关系
2.从节点晋升为主节点

从节点断开复制后不会抛弃原有数据,只是无法再获取主节点上的数据变化.
通过slaveof命令还可以实现切主操作,所谓切主是指把当前从节点对主节点的复制切换到另一个主节点.
执行slaveof {newMasterIp} {newMasterPort}命令即可.
切主操作流程如下:

1.断开与旧主节点的复制关系
2.与新主节点建立复制关系
3.删除从节点当前所有数据
4.对新主节点进行复制操作

提示: 线上操作一定要小心,因为切主后会清空之前所有的数据.

判断集群节点状态

[root@db02 src]# redis-cli -h 192.168.8.129 -p 6380 CLUSTER NODES
5f015f30333dcadba84834bb498396097dad4923 192.168.8.131:6380 master,fail - 1598802863625 1598802862308 3 disconnected 10923-16383
e834101559bb51774ff4f138028708b16f7aeb7c 192.168.8.129:6380 myself,master - 0 0 1 connected 0-5460
185d43ffbe4295dc3aa80703abc2a31eb6970516 192.168.8.130:6381 slave e834101559bb51774ff4f138028708b16f7aeb7c 0 1598802892767 5 connected
f5b2b4b7092f93456039ba158195ce826df6f1f4 192.168.8.130:6380 master - 0 1598802895809 2 connected 5461-10922
5ef37ef8de9dc0fc1f2fcb76f151036bf0403fdb 192.168.8.131:6381 slave 5f015f30333dcadba84834bb498396097dad4923 0 1598802893783 6 connected
435d874893b9ef284afe297606c19a8ad09f598c 192.168.8.129:6381 slave f5b2b4b7092f93456039ba158195ce826df6f1f4 0 1598802894794 4 connected
[root@db02 src]# redis-cli -h 192.168.8.129 -p 6380 CLUSTER NODES|grep  disconnected
5f015f30333dcadba84834bb498396097dad4923 192.168.8.131:6380 master,fail - 1598802863625 1598802862308 3 disconnected 10923-16383

判断集群状态

[root@db02 src]# redis-cli -h 192.168.8.129 -p 6380 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:8
cluster_my_epoch:1
cluster_stats_messages_sent:15928
cluster_stats_messages_received:3177
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值