首页 > 数据库 >redis持久化

redis持久化

时间:2024-04-04 15:34:01浏览次数:31  
标签:文件 持久 AOF redis 命令 内存 快照

        redis是一个基于内存的数据库,如果没有持久化的话,那么一旦服务器重启或者断电,之前的数据都会丢失(RAM)

        redis的持久化有两种方式:

        一种是RDB(Redis Database),另一种是AOF(Append Only File)

RDB

        是将内存中的数据快照写入快照,它是某一个时间点上数据的完整副本

使用配置文件来自动触发快照。

可以通过配置文件中的save参数来配置

第一行表示3600秒也就是一个小时之内,只要有一次修改就进行一次快照。

第二行就表示300秒内有100次修改的话才进行一次快照

第三条表示60秒内有10000次修改的话才进行一次快照

可以根据自己服务器的负载情况来调整这个配置

除了使用配置文件来自动触发快照,还可以使用save命令来手工触发快照

这个dump.rdb就是生成的快照文件。

这里的xxd是一个可以查看二进制或十六进制文件内容的Linux命令,可以看到rdb文件中的内容

快照文件有个缺点就是如果服务器在快照之后宕机了,那么最后一次快照之后的所有修改内容都会丢失掉,所以RDB更适合用来做备份。

比如我们可以在每天凌晨的时候,通过crontab来执行一次save命令,然后将快照文件备份到其他地方,这样就可以保证数据的安全了。

还有一个问题就是由于生产环境中,我们位Redis开辟的内存区域一般都比较大,那么内存中的数据同步到硬盘这个过程就会持续比较长的时间。这段时间内Redis都是处于一个阻塞的状态,不能接受任何的请求,这样显然是不行的。于是redis提供了一个叫做bgsave的命令。这个命令会单独创建一个子进程来负责将内存中的数据写入到硬盘中,这样主进程就可以继续处理请求了。但是这个过程中有一定的性能损耗。因为fork一个子进程也是需要时间的。这段时间内Redis还是不能处理任何请求,没有办法做到秒级的快照。

        为了解决这个问题,redis又提供了另一种叫做AOF的持久化方式。

AOF

        是append only file,意思就是追加文件的意思。它的原理是在执行写命令的时候,不仅会将命令写入到内存中,还会将命令写入到一个追加的文件中。这个文件就是AOF文件。它会以日志的形式来记录每一个写操作。

        当redis重启的时候,就会通过重新执行AOF文件中的命令,来在内存中重建整个数据库内容

        开启AOF的方式很简单

改成yes就可以。

标签:文件,持久,AOF,redis,命令,内存,快照
From: https://blog.csdn.net/weixin_74923758/article/details/137359904

相关文章

  • 【智能排班系统】基于Redis的increment命令和lua脚本实现IP限流
    文章目录什么是IP限流?为什么需要IP限流?保护服务器资源防范恶意攻击与滥用提升用户体验IP限流方式:实现实现原理代码结构lua脚本为什么要使用lua脚本Ip限流工具类对所有接口进行限流IP限流请求过滤器SpringSecurity中配置过滤器对不经过SpringSecurity的过滤器的请求进......
  • 网站持久代引发Full GC问题分析
     现状:Dragoon(监控系统)的日报显示trade_us_wholelsale(美国wholesale集群),日均YoungGC次数25w次左右,应用暂停295w毫秒(相当于40多分钟),FullGC次数600次左右,应用暂停190w毫秒(相当于30多分钟)。GC,尤其是FullGC,每次都会导致JVM暂停工作,处理垃圾回收任务,短时间内无法响应用户请求,大量......
  • Online_install_mem_redis.sh
    Online_install_mem_redis.sh......
  • Redis实战篇
    实战篇Redis开篇导读亲爱的小伙伴们大家好,马上咱们就开始实战篇的内容了,相信通过本章的学习,小伙伴们就能理解各种redis的使用啦,接下来咱们来一起看看实战篇我们要学习一些什么样的内容短信登录这一块我们会使用redis共享session来实现商户查询缓存通过本章节,我们会理解......
  • Redis中监听key过期通知
    前言正常情况下,我们是不需要监听key是否过期的,毕竟项目中key数量可能成千上万,要监听的话很耗费服务器资源。但是如果项目中key数量很少,且我们要在指定key过期时告警,这种场景下就是合适的。使用服务器开启配置redis.conf文件notify-keyspace-eventsEx默认配置为......
  • 工作中使用Redis的10种场景
    工作中使用Redis的10种场景 前言Redis作为一种优秀的基于key/value的缓存,有非常不错的性能和稳定性,无论是在工作中,还是面试中,都经常会出现。今天这篇文章就跟大家一起聊聊,我在实际工作中使用Redis的10种场景,希望对你会有所帮助。1.统计访问次数对于很多官方网站的首页,经......
  • Redis连接超时排查实录
    记一次Redis超时关键字:#spring-data-redis、#RedisTemplate、#Pipeline、#Lettucespring-data-redis:2.6.31现象时间轴(已脱敏)day01线上发现接口耗时不正常变高day02其他接口mget操作偶现超时,陆续发现其他Redis命令也偶尔出现超时(持续半个月)day03排查Redis无慢查询,连接......
  • Redis作为微服务共享缓存的优缺点
    1.引言随着微服务架构的流行,越来越多的系统采用了微服务架构来构建应用程序。在微服务架构中,服务之间需要进行通信和协调,而这些服务通常需要共享一些数据,比如缓存数据。在这种情况下,Redis成为了一个非常受欢迎的选择。然而,使用Redis作为微服务架构中的共享缓存也会带来一些问题......
  • NoSQL之Redis配置与优化
    目录一.关系数据库与非关系数据库1、关系型数据库2、非关系型数据库非关系型数据库产生背景3、关系型数据库和非关系型数据库区别: 数据存储方式不同扩展方式不同对事务性的支持不同总结:二、Redis简介Redis具有以下几个优点 三、Redis安装部署​编辑 四、Re......
  • 简单的redis分布式锁实现
    简单的redis分布式锁实现1.需求我们公司想实现一个简单的分布式锁,用于服务启动初始化执行init方法的时候,只执行一次,避免重复执行加载缓存规则的代码,还有预防高并发流程发起部分,产品超发,多发问题。所以结合网上信息,自己简单实现了一个redis分布式锁,可以进行单次资源锁定,排......