解决redis aof文件过大的问题

执行BGREWRITEAOF命令对redis的AOF进行重写

redis-cli BGREWRITEAOF

相关解释:

Redis的AOF机制有点类似于Mysql binlog,是Redis的提供的一种持久化方式(另一种是RDB),它会将所有的写命令按照一定频率(no, always, every seconds)写入到日志文件中,当Redis停机重启后恢复数据库。

AOF重写:
(1) 随着AOF文件越来越大,里面会有大部分是重复命令或者可以合并的命令(100次incr = set key 100)
(2) 重写的好处:减少AOF日志尺寸,减少内存占用,加快数据库恢复时间。

执行一个 AOF文件重写操作,重写会创建一个当前 AOF 文件的体积优化版本。
即使 BGREWRITEAOF 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 BGREWRITEAOF 成功之前不会被修改。
从 Redis 2.4 开始,AOF 重写由 Redis 自行触发, BGREWRITEAOF 仅仅用于手动触发重写操作。但网上有网友说已经3.2.5版本了,貌似redis还是没有自动触发BGREWRITEAOF
稳妥的方法还写一个脚本每天定时去执行

时间: 2024-09-20 13:26:04

解决redis aof文件过大的问题的相关文章

sql点滴39—解决数据库日志文件过大的问题

原文:sql点滴39-解决数据库日志文件过大的问题 随着数据库使用时间增长,日志文件也在不停的增大,这里介绍几种方法减小这个文件的方法. 1.直接删除log文件 分离数据库.分离数据库之前一定要做好数据库的全备份,选择数据库--右键--任务--分离,如下图 将日志文件和数据文件复制粘贴到另外一个文件夹中以防万一.删除链接,如下图 直接删除日志文件,然后再附加数据库,如下图 附加的时候会自动将ldf文件和mdf文件都附加上,但是会提示找不到ldf文件,没关系,选中ldf文件这一行,点击下面的删除按

【技术贴】解决相册thumbnails文件过大 小米缩略图缓存根除办法

  命令:cd.> I:\DCIM\.thumbnails   I为你的小米插到电脑上的usb的盘符,进到你的usb里面的此文件夹中,删除.thumbnails文件夹,然后把上面的命令右键复制,然后再cmd里面右键粘贴,然后打个回车即可.     此时,你的usb里面就会生成 ok 开始观察你的内存卡剩余容量吧.看看还会不会继续沾满你的USB.如果此方法不错,请跟帖留言,谢谢.   转自:小米论坛.   android手在相机相册使用过程中,.thumbnails缓存文件越来越大,手机存储空间越

Redis协议简介及持久化Aof文件解析

Redis提供了两种不同的持久化模式: RDB 快照模式,该模式用于生成某个时间点的备份信息,并且会对当前的key value进行编码存储到rdb文件中 AOF 持久化模式,该模式类似binlog的形式,会记录服务器所有的写请求,在服务重启的时候通过回放执行命令请求来恢复原有的数据 AOF文件记录的是原始的Redis写请求命令,所以在了解AOF文件之前我们需要了解下Redis协议. Redis协议介绍 Redis客户端和服务端之间可以通过RESP (REdis Serialization Pro

一个小改进,解决Redis数据在线加载大痛点

作者介绍 顾伟涛,曾任职于百度.奇虎360,现为杭州铭师堂教育资深DBA,擅长数据库监控.备份.高可用架构设计和自动化运维,对Redis和MongoDB方面有深入研究,关注分布式存储.大数据存储.消息队列.搜索引擎等后端技术.   前言   在使用Redis加载数据过程中存在一个问题,就是必须要重启Redis服务,如果是Redis主从复制架构,这样加载数据,是一件很麻烦的事情,笔者根据Redis启动时加载数据的思想,对Redis进行了改进,实现了在线加载数据,在这里和大家一起探讨下.   设计与

u盘拷贝文件过大怎么解决 大文件无法复制到U盘怎么办?

u盘拷贝文件过大怎么解决  大文件无法复制到U盘怎么办   大文件无法复制到U盘怎么办?u盘拷贝文件过大解决办法 先来说说U盘无法复制大文件的原因: 一般来说,导致U盘无法拷贝大文件,一般是4GB以上的大文件,容易遇到"复制文件过大无法复制"的情况,而导致这种情况主要是U盘文件系统格式的问题. 一般U盘默认为FAT文件系统,它无法支持超过4GB以上的单个文件,而NTFS文件系统的限制最高可达2TB. 大文件无法复制到U盘的解决办法 找到原因后,解决起来就比较简单了,只有解除U盘复制文件

Win7用U盘复制文件提示“复制文件过大无法复制”如何解决

  Win7用U盘复制文件提示"复制文件过大无法复制"如何解决          操作步骤: 1.将U盘插入电脑的USB接口中; 2.按Win+R键,打开运行,输入CMD,点击确定; 3.在打开的命令提示符窗口中,输入CONVERT X: /FS:NTFS(x代表是u盘的盘符),回车即可. 4.设置完成后,可以看到U盘的文件系统格式已经转换为NTFS,在这种格式下就可以复制过大文件了. 以上便是关于Win7用U盘复制文件提示"复制文件过大无法复制"的解决方法,大部分

mysql ibdata1文件太大,沾满磁盘空间,再有数据往里写的时候怎么处理。?菜鸟求解决!

问题描述 mysql ibdata1文件太大,沾满磁盘空间,再有数据往里写的时候怎么处理.?菜鸟求解决! 前两天遇到mysql ibdata1文件太大,沾满磁盘空间的问题,本人是卸载然后停服务器,再删除那几个文件的处理.如果项目上线,出现这种情况,再有数据往里写的时候怎么处理.?菜鸟求解决!

解决 SqlServer执行脚本,文件过大,内存溢出问题

原文:解决 SqlServer执行脚本,文件过大,内存溢出问题 执行.sql脚本文件,如果文件较大时,执行会出现内存溢出问题,可用命令替代 cmd 中输入 osql -S 127.0.0.1,8433 -U sa -P sa -i d:\sql.sql ,-S 服务器名 -U 用户名 -P 密码 -i 文件地址,等待执行完毕即可 以上在sql2008R2下执行通过 如果数据库是 sql2008的 请将 osql 修改成为 sqlcmd 即可

mysql导入sql文件过大或连接超时的解决办法

原文:mysql导入sql文件过大或连接超时的解决办法      前段时间出差在现场开发的时候,导入数据库老是出问题.最后发现了一个神奇sql语句交给实施,只要导入出错就把如下语句执行就可以了.至今屡试不爽. set global max_allowed_packet=100 000 000; set global net_buffer_length=100000; SET GLOBAL interactive_timeout=28800 000; SET GLOBAL wait_timeout