首页 > 数据库 > redis学习十五:redis持久化之AOF

redis学习十五:redis持久化之AOF

时间:2023-07-03 10:55:23浏览次数:30  
标签:AOF appendonly 文件 redis aof 十五 写回

1.AOF是什么

以日志的形式来记录每个写操作,将redis执行过的所有写指令记录下来(读操作不记录),

redis重启的话会根据日志内容把指令从前到后执行一次来完成数据的恢复工作。

默认情况,redis没有开启AOF更,开启功能需要设置appendonly yes

 aof保存的是appendonly.aof文件

2.AOF持久化工作流程

(1)client作为命令的来源,会有多个源头以及源源不断的请求命令

(2)这些命令并不是直接写入AOF文件,是先放入AOF缓存中进行保存,这里的AOF缓冲区实际上是内存中的一片区域

存在的目的是当这些命令达到一定量以后再写入磁盘,避免频繁的磁盘IO操作

(3)AOF缓冲会根据AOF缓冲区同步文件的三种写回策略将命令写入磁盘上的AOF文件。

(4)随着写入AOF内容的增加为避免文件膨胀,会根据规则进行命令的合并(AOF重写)从而起到AOF文件压缩的目的

(5)当redis server服务器重启的时候会从AOF文件载入数据

3.AOF三种写回策略

(1)always 同步写回,每个写命令执行完同步将日子写回磁盘

(2)everysec 默认策略,每秒写回,每个写命令执行完,只是先把日志写到aof文件内存缓冲区,每隔一秒把缓冲区内容写进磁盘

 (3)no 每个写命令执行完,只是把日志写到aof文件的内存缓冲器,由操作系统决定何时将缓冲区内容写回磁盘

4.AOF案例演示

配置:

(1)开启aof

 (2)默认每秒写回策略

(3)保存路径

redis6保存路径和rdb保存路径一样

redis7之后创建个文件夹appednonlydir,然后在这个文件夹里有对应.aof文件

 (4)保存名称

redis6有且仅有一个

redis7之后multi part AOF :

基本文件appendonly.aof.1.base.rdb

增量文件appendonly.aof.1.incr.aof

清单文件appendonly.aof.manifest

 

标签:AOF,appendonly,文件,redis,aof,十五,写回
From: https://www.cnblogs.com/ssbxfsrm/p/17522075.html

相关文章

  • redis集群部署
    redis集群方式部署原创 guanDove 运维DevOps 2023-06-2623:58 发表于广东收录于合集#redis2个#redis集群1个集群正常工作至少需要3个主节点,本例子创建6个节点,三个主节点三个从节点,对应IP和端口如下:IP端口redis版本10.9.2.2970007.0.1110.9.2.29......
  • Redis 官方可视化工具
    Redis官方可视化工具,功能真心强大!cativen 舒克Daily 2023-06-2908:35 发表于广东RedisInsight是一个直观高效的RedisGUI管理工具,它可以对Redis的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用CLI和连接的Redis进行交互(RedisInsight......
  • Windows修改Redis端口无效
    步骤1、如果开了Redis服务,先将服务关闭!2、在Window上找到Redis的安装目录,修改config\redis.windows.conf文件,在里面将默认端口改为你想要的端口号3、将redis.windows.conf文件直接拖入redis-server.exe,弹出窗口......
  • Redis哨兵模式
    1.原理Redis哨兵模式是指在Redis集群中,有一组专门的进程(即哨兵进程)负责监控主节点和从节点的状态,并在发现故障时自动进行故障转移,以保证Redis集群的高可用性。Redis提供了哨兵的命令,哨兵命令是一个独立的进程,哨兵进程会周期性地向主节点和从节点发送PING命令来检测它们......
  • Redis分布式锁
    一、简介单机器环境下,可以通过锁来解决共享资源的竞争问题;而在分布式集群环境下,机器与机器之间的资源竞争则需要依赖Redis、ZooKeeper等中间件去协调。简单总结一下自己对Redis分布式锁的一些理解二、代码实现第一步先是获取锁,通过setnx操作,设置指定key及其过期时间。较新的版......
  • Redis详解——性能
    一、rehash会导致操作阻塞吗?如下图,Redis的字典结构中包含了两个哈希表:默认是往ht[0]写数据的,随着数据主键增多,Redis就会触发执行rehash操作了,主要步骤如下:给ht[1]分配更大的空间;将ht[0]的数据拷贝到ht[1];释放ht[0]的空间。如果直接拷贝数据,肯定是会花很长时间的,进一步会导......
  • Jmeter学习之一_连接与测试Redis
    Jmeter学习之一_连接与测试Redis简介下载:https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.zip注意事项:Don'tuseGUImodeforloadtesting!,onlyforTestcreationandTestdebugging.Forloadtesting,useCLIMode(wasNONGUI):jmeter-n......
  • 龙蜥7.9 编译安装redis
    1、下载redis安装包2、我一般放在/home下面,redis默认安装在/usr/local/bin/下面,修改目录命令为:makePREFIX=/usr/local/redisinstall#安装编译环境yum-yinstallgcc-c++autoconfautomake#开始安装cd/hometarzxvfredis-7.0.11.tar.gzcdredis-7.0.11/makemakeinsta......
  • Redis详解——内存数据库
    前言在Redis详解——存储中介绍了Redis的基础数据结构,本文我们来看看Redis是如何组织这些数据类型,来构建一个内存数据库的。一、内存数据库以下是Redis数据库的结构:Redis服务器程序所有的数据库都保存在redisService结构体中,其中有个db数组,为redisDb类型,每个元素为一个数据......
  • springboot+token+redis,模拟登录
    登录测试的controller:loginTest.javapackagecom.example.demo.controller;importcom.example.demo.po.ResponseBean;importorg.springframework.data.redis.core.RedisTemplate;importorg.springframework.web.bind.annotation.*;importjavax.annotation.Resource;i......