IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Redis持久化机制-----RDB和AOF -> 正文阅读

[大数据]Redis持久化机制-----RDB和AOF

Redis持久化机制

1. RDB

RDB是Redis默认的持久化机制

  • RDB持久化文件,速度比较快,而且存储的是一个二进制的文件,传输起来很方便。

  • RDB持久化的时机:

    save 900 1:在900秒内,有1个key改变了,就执行RDB持久化。

    save 300 10:在300秒内,有10个key改变了,就执行RDB持久化。

    save 60 10000:在60秒内,有10000个key改变了,就执行RDB持久化。

  • RDB无法保证数据的绝对安全。

[root@VM-4-6-centos ~]# docker exec -it redis bash
root@24c6a52e162c:/data# ls
redis.aof
root@24c6a52e162c:/data# redis-cli
127.0.0.1:6379> set name shy
OK
127.0.0.1:6379> set age 24
OK
127.0.0.1:6379> [root@VM-4-6-centos ~]#
[root@VM-4-6-centos ~]# docker exec -it redis bash
root@24c6a52e162c:/data# ls
redis.aof  redis.rdb

[root@VM-4-6-centos ~]# docker exec -it redis bash
root@24c6a52e162c:/data# ls
redis.aof
root@24c6a52e162c:/data# cat redis.aof
#AUTH认证,给redis设置认证登陆密码
#requirepass xxxx

#RDB持久化配置
save 900 1
save 300 10
save 60 10000
#10秒内有一个key发生变化,就持久化
save 10 1
#设置持久化文件名称
dbfilename redis.rdb
 
#开启AOF持久化
appendonly yes
#设置持久化文件名称
appendfilename "redis.aof"
#持久化时机
# appendfsync always
appendfsync everysec 
# appendfsync no
2. AOF

AOF持久化机制默认是关闭的,Redis官方推荐同时开启RDB和AOF持久化,更安全,避免数据丢失。

  • AOF持久化的速度,相对RDB较慢的,存储的是一个文本文件,到了后期文件会比较大,传输困难。

  • AOF持久化时机。

    appendfsync always:每执行一个写操作,立即持久化到AOF文件中,性能比较低。
    appendfsync everysec:每秒执行一次持久化。
    appendfsync no:会根据你的操作系统不同,环境的不同,在一定时间内执行一次持久化。

  • AOF相对RDB更安全,推荐同时开启AOF和RDB。

6.3.3 注意事项

同时开启RDB和AOF的注意事项:

如果同时开启了AOF和RDB持久化,那么在Redis宕机重启之后,需要加载一个持久化文件,优先选择AOF文件。

如果先开启了RDB,再次开启AOF,如果RDB执行了持久化,那么RDB文件中的内容会被AOF覆盖掉。

6.4 Redis的主从架构

单机版 Redis存在读写瓶颈的问题

| 主从架构 |

在这里插入图片描述

指定yml文件

version: '3.8'
services:
  redis1:
    image: daocloud.io/library/redis:6.0.7
    restart: always
    container_name: redis1
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7001:6379
    volumes:
      - ./conf/redis1.conf:/usr/local/redis/redis.conf
    command: ["redis-server","/usr/local/redis/redis.conf"] #redis服务启动携带指定文件
  redis2:
    image: daocloud.io/library/redis:6.0.7
    restart: always
    container_name: redis2
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7002:6379
    links:
      - redis1:master #redis2连接redis1服务,并起名为master
    volumes:
      - ./conf/redis2.conf:/usr/local/redis/redis.conf
    command: ["redis-server","/usr/local/redis/redis.conf"] #redis服务启动携带指定文件
  redis3:
    image: daocloud.io/library/redis:6.0.7
    restart: always
    container_name: redis3
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7003:6379
    links:
      - redis1:master #redis3连接redis1服务,并起名为master
    volumes:
      - ./conf/redis3.conf:/usr/local/redis/redis.conf
    command: ["redis-server","/usr/local/redis/redis.conf"] #redis服务启动携带指定文件
    
# redis2和redis3从节点配置
replicaof master 6379
[root@VM-4-6-centos docker-redis-master-slave]# docker exec -it redis1 bash
root@a530753d3c03:/data# redis-cli
127.0.0.1:6379> info

[root@VM-4-6-centos ~]# docker exec -it redis2 bash
root@cdb2dbf64b13:/data# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> info

[root@VM-4-6-centos ~]# docker exec -it redis3 bash
root@29607d180c41:/data# redis-cli
127.0.0.1:6379>
127.0.0.1:6379> info

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:30:00  更:2022-07-17 16:33:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/29 7:59:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码