`
haiziwoainixx
  • 浏览: 415000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

redis安装使用-进阶篇(持久化)

 
阅读更多
 一.生产环境持久化方式:
   1). RDB持久化:
    该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。    
   2). AOF持久化:
    该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。
 
二、RDB机制的优势和劣势: 
   RDB存在哪些优势呢?
    1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。
    2). 对于灾难恢复而言,RDB是非常不错的选择。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。
    3). 性能最大化。对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了。
    4). 相比于AOF机制,如果数据集很大,RDB的启动效率会更高。  www.2cto.com  
    
   RDB又存在哪些劣势呢?
    1). 如果你想保证数据的高可用性,即最大限度的避免数据丢失,那么RDB将不是一个很好的选择。因为系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁盘的数据都将丢失。
    2). 由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是1秒钟。
    
三、AOF机制的优势和劣势: 
   AOF的优势有哪些呢?
    1). 该机制可以带来更高的数据安全性,即数据持久性。Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步。事实上,每秒同步也是异步完成的,其效率也是非常高的,所差的是一旦系统出现宕机现象,那么这一秒钟之内修改的数据将会丢失。而每修改同步,我们可以将其视为同步持久化,即每次发生的数据变化都会被立即记录到磁盘中。可以预见,这种方式在效率上是最低的。至于无同步,无需多言,我想大家都能正确的理解它。
    2). 由于该机制对日志文件的写入操作采用的是append模式,因此在写入过程中即使出现宕机现象,也不会破坏日志文件中已经存在的内容。然而如果我们本次操作只是写入了一半数据就出现了系统崩溃问题,不用担心,在Redis下一次启动之前,我们可以通过redis-check-aof工具来帮助我们解决数据一致性的问题。
    3). 如果日志过大,Redis可以自动启用rewrite机制。即Redis以append模式不断的将修改数据写入到老的磁盘文件中,同时Redis还会创建一个新的文件用于记录此期间有哪些修改命令被执行。因此在进行rewrite切换时可以更好的保证数据安全性。
    4). AOF包含一个格式清晰、易于理解的日志文件用于记录所有的修改操作。事实上,我们也可以通过该文件完成数据的重建。
    
    AOF的劣势有哪些呢?
    1). 对于相同数量的数据集而言,AOF文件通常要大于RDB文件。
    2). 根据同步策略的不同,AOF在运行效率上往往会慢于RDB。总之,每秒同步策略的效率是比较高的,同步禁用策略的效率和RDB一样高效。
 
四.RDB方式持久化(示例)
1.修改配置文件
写道
save 300 10 //300s内如果有10key发生改变,就写入快照
save 300 10
save 60 10000
filename dump.rdb //快照文件名称
dir /usr/local/data/redis/rdb/ //快照文件路径 
2.数据备份
直接复制rdb文件
3.数据恢复
直接将备份的数据文件重命名为指定的名称,重启redis即可.(注意,当主服务器down掉重启的时候,一定要保证数据文件没有损坏,因为从服务器会从主服务器同步数据,如果主服务器文件损坏,会清空所有数据)
 
五.AOF方式持久化(示例)
1.开启
在配置文件中打开[appendonly yes]
2.配置写入硬盘策略
  appendfsync always     #每次有数据修改发生时都会写入AOF文件。
  appendfsync everysec  #每秒钟同步一次,该策略为AOF的缺省策略。
  appendfsync no          #从不同步。高效但是数据不会被持久化。
3.数据备份/恢复 
数据文件名,文件路径同rdb文件
appendfilename "appendonly.aof"
直接复制,重命名即可备份,恢复。

 

 
 

 

 
 
分享到:
评论

相关推荐

    Redis-x64-3.0.504及php_redis-3.1.4-7.2-ts-vc15-x64

    尽管版本较旧,但依旧稳定可靠,包含了许多基础和进阶特性,如事务、发布/订阅、持久化等。 3. **Redis 安装与配置**:在 Windows 上安装 Redis,需要解压并运行服务安装脚本,设置端口、目录路径等配置。通过 `...

    redis-3.2.1-windows-64位

    - 配置:打开`redis.windows-service.conf`配置文件,根据需要修改端口号、数据持久化策略等设置。 - 安装服务:通过命令行执行`redis-server.exe --service-install redis.windows-service.conf`,安装Redis为...

    redis桌面客户端redis-desktop-client-master.zip

    - **持久化**:为了防止数据丢失,Redis提供了RDB(快照)和AOF(追加日志)两种持久化策略。 - **事务**:Redis支持事务操作,允许多个命令作为一个组执行,确保原子性。 - **发布/订阅**:Redis的发布订阅模式...

    Redis进阶(深度历险)

    2. **持久化机制** - RDB(Redis Database Persistence):定期保存数据库快照,提供灾难恢复能力。 - AOF(Append Only File):记录所有写操作命令,重启时重新执行以恢复数据。 - AOF与RDB结合使用,兼顾数据...

    Redis学习笔记-包括周阳和狂神说

    - 持久化:Redis通过RDB和AOF两种方式进行数据持久化,确保在服务器重启后能恢复数据。 - 主从复制:通过复制机制,可以实现数据备份和读写分离,提高系统可用性。 2. Redis命令操作 - 常用命令:如GET、SET、...

    redis64-latest.zip

    - **持久化**: Redis支持两种持久化方式,RDB(定期保存数据库快照)和AOF(记录所有写操作)。可以通过配置文件启用这些功能,确保数据在重启后仍可恢复。 - **主从复制**: Redis支持主从复制,通过`SLAVEOF`命令...

    redis-2.8.19

    总结,Redis 2.8.19是一个功能强大的键值存储系统,适用于高并发读写场景,其丰富的数据结构和多种持久化策略使其在缓存、数据存储、消息队列等多个领域都有广泛应用。通过了解和掌握Redis,开发者可以有效地优化...

    第十九讲redis使用进阶.pptx

    - **持久化**:除了 RDB 方式外,还可以使用 AOF(Append Only File)方式进行数据持久化,提供更细粒度的数据恢复。 - **集群**:通过 Redis Cluster 实现水平扩展,支持自动分区和故障转移机制。 以上内容涵盖了 ...

    redis-desktop-manager-0.9.0.480.zip

    它的设计目标是速度和性能,数据存储在内存中,通过磁盘持久化来保持数据安全。Redis支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,这些丰富的数据类型使得Redis在处理复杂业务场景时表现出色。 **...

    redis安装配置详细教程.pdf

    ### Redis安装配置详细教程 #### 一、Redis简介与特性 Redis(Remote Dictionary Server),即远程字典服务,是一款开源的、使用ANSI C语言编写的高性能键值(Key-Value)存储系统。它支持网络交互,可在内存中运行...

    redis-6.0.8.zip

    - 持久化:Redis提供了RDB快照和AOF日志两种持久化方式,确保数据在系统故障后能够恢复。 - 主从复制:通过复制,可以创建多个从节点,实现读写分离,提高系统的可用性。 - 哨兵(Sentinel)系统:哨兵系统提供了高...

    Redis-高级篇资料

    本“Redis-高级篇资料”主要探讨Redis的进阶特性、优化策略和实际应用,旨在帮助读者深入理解并有效利用Redis。 1. Redis的数据类型与操作 Redis支持五种基本数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists...

    redis使用进阶.pptx

    Redis 使用进阶 Redis 是一个开源的、基于内存的数据结构存储系统,可以用作数据库、缓存和消息中间件。Redis 提供了丰富的数据结构,如字符串、哈希表、列表、集合、有序集合等,同时支持事务、持久化、主从复制等...

    Redis介绍的课件

    Redis提供了RDB(Redis Database)和AOF(Append Only File)两种持久化方式。RDB通过创建数据集的快照进行持久化,适合大规模数据恢复但可能会丢失最近的数据更改。而AOF则是记录每一个写操作命令,数据恢复更安全...

    lliunx操作系统下redis-5.0.4.tar.gz

    在实际应用中,还需要关注Redis的性能优化、持久化策略(如RDB和AOF)、主从复制、哨兵系统(Sentinel)以及集群搭建(Redis Cluster)。对于高可用性和数据安全性,了解和掌握这些进阶功能是至关重要的。 总之,...

    Redis全套学习笔记 (带章节目录) 完整版pdf

    Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了...

    redis5.0.5安装全流程和客户端工具.zip

    3. AOF持久化:除了默认的RDB快照持久化,Redis还支持AOF(Append Only File)模式,记录所有写操作日志,确保数据的安全。 通过以上步骤,你应该能够成功安装Redis 5.0.5,并了解如何使用客户端工具与其交互。继续...

    最新Redis安装包(windows).rar

    以上就是关于“最新Redis安装包(windows).rar”的详细介绍,涵盖了Redis的基础知识、Windows环境下安装配置的步骤以及一些进阶应用。通过学习和实践,你将能够顺利地在Windows上部署和管理Redis实例。

    Redis专项进阶课 解决Redis工作实际问题+掌握Redis6.x特性

    - **持久化机制**: - RDB快照:定期将内存中的数据集快照保存到硬盘上。 - AOF日志:记录每次写操作,重启时可以通过重放AOF文件来恢复数据。 - **高可用性方案**: - 主从复制:实现数据的异步复制,提升读写...

    Python redis安装&使用教程,内附redis解压包,解压即可用

    在Python中,Redis是一个非常流行的键值存储系统,常用于缓存、消息队列、数据持久化等场景。本文将详细介绍如何在Python环境中安装Redis以及如何进行基本的使用。 ### 1. 安装Redis Redis本身是一个C语言编写的...

Global site tag (gtag.js) - Google Analytics