热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Redis学习-5:Redis的持久化(结束)

慕课网视频地址:http:www.imooc.comvideo14935Redis的高性能是因为它所有的数据都存储在了内存中,为了保证Redis在重启后数据依然存在我们需要对内存中的数据进行持

慕课网视频地址:http://www.imooc.com/video/14935

Redis的高性能是因为它所有的数据都存储在了内存中,为了保证Redis在重启后数据依然存在我们需要对内存中的数据进行持久化操作(持久化就是将内存的数据同步到硬盘中)。

Redis的两种持久化方式

1:RDB:在制定的时间间隔内将内存中的数据集快照写入到磁盘。

2:AOF:以日志的形式记录服务器所处理的每一个操作,在redis服务启动之初读取这个文件,之后去构建我们的数据库,保证启动后数据是完整的

持久化的使用方式:

1:单独使用RDB持久化(默认支持,不需要配置)

优势:采用这种方式,redis的数据库就只包含一个文件,对于文件备份非常完美

  可以将备份好的快照考走

  性能最大化,启动效率更高

缺点:如果享保证数据的高可用性,RDB将不是个好的选择(30S向硬盘写一次,但是服务器25S就宕机了)

RDB是通过子进程备份数据的,如果数据集较大的时候,可能会导致服务器停止几百毫秒

RDB的配置:

redis下的redis.conf下

blob.png

每900s(15分钟)至少有1个Key发生变化,它会持久化一次

每300s(5分钟)至少有10个key发生变化

每60s(1分钟)有1W个key发生变化


blob.png

这个是备份的数据文件名 dump.rdb

保存的路径当前目录 ./


blob.png

blob.png

2:单独使用AOF

优势:能够带来更高的数据安全性

(三种策略:1.每秒同步-异步完成一旦1S内宕机,则这1S内的操作无法保存;

2.每修改同步,视为同步持久化,效率最低,但是最安全;

3:不同步)

对日志操作写入使用的是追加模式,所以说写入的时候既是宕机,也不会影响之前的数据

如果日志过大,redis自动启动重写机制

劣势:文件大。运行效率低

配置:还是打开redis.conf


blob.png

redis默认不启动AOF方式,如果想使用AOF则将no改成yes

启动之后就会产生appendonly.aof的文件


blob.png

这个地方是同步策略的设置

# appendfsync always  每次修改同步

appendfsync everysec 每秒同步

# appendfsync no  不同步

#表示注释,未启动

修改配置文件重启下redis

3:不持久化,通过配置禁用持久化

4:同时使用RDB和AOF


推荐阅读
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文深入探讨了 Redis 的两种持久化方式——RDB 快照和 AOF 日志。详细介绍了它们的工作原理、配置方法以及各自的优缺点,帮助读者根据具体需求选择合适的持久化方案。 ... [详细]
  • andr ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文介绍如何通过Windows批处理脚本定期检查并重启Java应用程序,确保其持续稳定运行。脚本每30分钟检查一次,并在需要时重启Java程序。同时,它会将任务结果发送到Redis。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
author-avatar
透支的灬漂移_255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有