redis 高级应用

一、redis 主从同步

主从复制过程:

  slave 与 master 建立连接。发送 sync 命令。

  master 会启动一个后台进程,将数据库快照保存到文件中,同时 master 主进程会开始收集新的命令并缓存。

  后台完成保存后,就将此文件发送给 slave。

  slave 将此文件保存到硬盘上。

1. 主服务器给自己设置好密码即可(关闭selinux,开放端口)

2. 从服务器修改配置文件

# replicaof <masterip> <masterport>  #主服务器的ip和端口
replicaof 192.168.80.133 6379

# masterauth <master-password>    #主服务器的密码
masterauth 123456

3. 重启服务器并测试。

二、Redis 数据持久化

redis 是一个支持持久化的内存数据库,也就是说需要经常将内存中的数据同步到硬盘来保持持久化。

snapshotting(快照) --默认

  RDB 持久化方式能够在指定的时间间隔对数据进行快照存储。是默认的持久化方式。这种方式将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。这种持久化方式被称为快照 snapshotting。

append-only file(缩写  aof)

  使用AOF 会让redis 更加耐久,可以使用不同的持久化策略;每次写的时候备份、每秒备份、无备份。使用默认的每秒备份策略,redis的性能依然很好(备份是有后台线程进行处理的,主线程会尽力处理客户端请求),一旦出现故障,最多丢失1秒的数据。

编辑redis 配置文件开启AOF 持久化

[root@localhost ~]# vim /etc/redis/6379.conf

appendonly no
#默认不使用AOF 持久化,将 no 改为 yes,appendonly yes

# appendfsync always
#有写操作,就马上写入磁盘。效率最慢,但最安全
appendfsync everysec
#默认,每秒写入一次磁盘
# appendfsync no
#不进行AOF 备份,将数据交给操作系统处理。最快,最不安全

测试

重启redis 服务,登录client 添加一个键值,退出并查看是否生成 appendonly.aof 。

[root@localhost /var/lib/redis/6379]# redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set ssss 123
OK
127.0.0.1:6379> get ssss
"123"
127.0.0.1:6379> 
[root@localhost /var/lib/redis/6379]# ll
total 8
-rw-r--r-- 1 root root  55 Dec 31 22:54 appendonly.aof
posted @ 2019-12-31 09:57  一窗明月半帘风  阅读(137)  评论(0编辑  收藏  举报