存储快照

Redis学习-持久化机制

半世苍凉 提交于 2019-12-29 21:25:02
Redis持久化的意义   在于故障恢复   比如你部署了一个redis,作为cache缓存,当然也可以保存一些较为重要的数据   如果没有持久化的话,redis遇到灾难性故障的时候(断电、宕机),就会丢失所有的数据   如果通过持久化将数据搞一份儿在磁盘上去,然后定期比如说同步和备份到一些云存储服务上去,那么就可以保证数据不丢失全部,还是可以恢复一部分数据回来的 通常Redis 将数据存储在内存中或虚拟内存中,它是通过以下两种方式实现对数据的持久化(如果我们想要redis仅仅作为纯内存的缓存来用,那么可以禁止RDB和AOF所有的持久化机制) 1、RDB 快照方式:(默认持久化方式)   这种方式就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为 dump.rdb。客户端也可以使用 save 或者 bgsave 命令通知 redis做一次快照持久化。save 操作是在 主线程中保存快照的,由于 redis 是用一个主线程来处理所有客户端的请求,这种方式会阻塞所有客户端请求。所以不推荐使用。另一点需要注意的是,每次快照持久化都是将内存数 据完整写入到磁盘一次,并不是增量的只同步增量数据。如果数据量大的话,写操作会比较多,必然会引起大量的磁盘 IO 操作,可能会严重影响性能。    注意:由于快照方式是在一定间隔时间做一次的,所以如果 redis 意外当机的话,就会

Redis学习手册(持久化)

丶灬走出姿态 提交于 2019-12-29 21:24:17
一、Redis提供了哪些持久化机制: 1). RDB持久化: 该机制是指在指定的时间间隔内将内存中的数据集快照写入磁盘。 2). AOF持久化: 该机制将以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。 3). 无持久化: 我们可以通过配置的方式禁用Redis服务器的持久化功能,这样我们就可以将Redis视为一个功能加强版的memcached 了。 4). 同时应用AOF和RDB。 二、RDB机制的优势和劣势: RDB存在哪些优势呢? 1). 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的。比如,你可能打算每个小时归档一次最近24小时的数据,同时还要每天归档一次最近30天的数据。通过这样的备份策略,一旦系统出现灾难性故障,我们可以非常容易的进行恢复。 2). 对于灾难恢复而言,RDB是非常不错的选择。因为我们可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。 3). 性能最大化。对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了。 4). 相比于AOF机制,如果数据集很大,RDB的启动效率会更高。 RDB又存在哪些劣势呢? 1).

Redis的持久化详解

不想你离开。 提交于 2019-12-25 15:49:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Redis持久化 Java大猿帅成长手册, GitHub JavaEgg ,N线互联网开发必备技能兵器谱 Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。 Redis有两种持久化的方式:快照( RDB 文件)和追加式文件( AOF 文件) RDB(Redis DataBase) 是什么 在指定的时间间隔内将内存中的数据集快照写入磁盘 ,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里。 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能,如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那 RDB 方式要比 AOF 方式更加的高效。RDB的缺点是最后一次持久化后的数据可能丢失。 ? What ? Redis 不是单进程的吗? Redis 使用操作系统的多进程 COW(Copy On Write) 机制来实现快照持久化, fork是类Unix操作系统上 创建进程 的主要方法。COW(Copy On

1、前言

自作多情 提交于 2019-12-22 10:39:09
1、前言 Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。 由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。那么这两种持久化方式有什么区别呢,改如何选择呢?网上看了大多数都是介绍这两种方式怎么配置,怎么使用,就是没有介绍二者的区别,在什么应用场景下使用。 2、二者的区别 RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程

项目实战6—Mysql实现企业级日志管理、备份与恢复实战

六月ゝ 毕业季﹏ 提交于 2019-12-22 03:00:56
Mysql实现企业级日志管理、备份与恢复实战    环境背景: 随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基。一旦公司的数据错乱或者丢失,对于互联网公司而言就等于说是灭顶之灾,为防止系统出现操作失误或系统故障导致数据丢失,公司要求加强用户数据的可靠性,要求全面加强数据层面备份,并能在故障发生时第一时间恢复。 总架构图 ,详见 http://www.cnblogs.com/along21/p/8000812.html Mysql备份方案: ① mysqldump+binlog: 先完全备份,再通过备份二进制日志实现增量备份 ② xtrabackup: 对InnoDB:热备,支持完全备份和增量备份 对MyISAM:温备,只支持完全备份 ③ lvm快照+binlog: 几乎热备,物理备份 实战一:mysqldump+binlog 实现备份与恢复 1、准备备份的目录,开启二进制日志 mkdir /backup chown -R mysql.mysql /backup/ 把备份的目录所属人所属组改为mysql vim /etc/my.cnf log-bin = /var/lib/mysql/bin-log 开启二进制日志,并制定路径 2、准备要备份的数据和表 模拟日常的数据库操作 MariaDB [(none)]>

逻辑卷

烂漫一生 提交于 2019-12-20 11:36:59
本博文的主要内容有   .逻辑卷概述   .逻辑卷的创建   .逻辑卷的管理 逻辑卷概述 逻辑卷的百度百科:    http://baike.baidu.com/link?url=oe4UU_Vn6SNmEbKHe-KGwoZsGO6rSbXmOrwbXaGmrBYCImSNDztbWrlAHInH_Huz3ZGAwRUmF91Z1H_Q1PK1l-miIndOY43mGBEP1OM6Ij-y7HqQvp5s7d_fZZ7iNBRt    逻辑卷(Logical Volume)是由逻辑磁盘形成的 虚拟盘 ,也可称为 磁盘分区 。 基于Windows   卷(也称逻辑卷)是Windows系统的一种 磁盘管理 方式,目的是把硬盘空间从物理硬盘的管理方式中跳出来,进行更方便的统一管理分配。 比如我们有一个8GB的硬盘和一个20GB的硬盘,想要分成一个12GB和一个16GB的两个逻辑盘,用 物理分区 的方式就没法做到,但用 卷 来管理就可以做到。   每个卷可以看作一个逻辑盘,可以是一个物理硬盘的逻辑盘,也就是我们直接看到的D盘、E盘这些 盘符 ,也可以是两个硬盘或两个硬盘的部分空间组成的 RAID 0或RAID 1阵列,或更多硬盘组成其他RAID 5阵列,但表面看来(比如在“我的电脑”或“资源管理器”中)都是一个 本地磁盘 。卷主要有 基本磁盘 上的 基本卷 和 动态磁盘 上的 动态卷

磁盘存储和文件系统(七)

人盡茶涼 提交于 2019-12-12 16:48:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 磁盘存储和文件系统(七) 逻辑卷管理器(LVM) 允许对卷进行方便操作的抽象层,包括重新设定文件系统的大小 允许在多个物理设备间重新组织文件系统 将设备指定为物理卷 用一个或者多个物理卷来创建一个卷组 物理卷是用固定大小的物理区域(Physical Extent,PE)来定义的 在物理卷上创建的逻辑卷是由物理区域(PE)组成 可以在逻辑卷上创建文件系统 LVM介绍 LVM:Logical Volume Manager,Version 2 dm:device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块 设备名:/dev/dm-# 软链接: /dev/mapper/VG_NAME-LV_NAME ​​​​​​​/dev/mapper/vol0-root /dev/VG_NAME/LV_NAME ​​​​​​​/dev/vol0/root LVM更改文件系统的容量 LVM可以弹性的更改LVM的容量 ​​​​​​​通过交换PE来进行资料的转换,将原来LV的PE转移到其他的设备中以降低LVr容量,或将其他设备中的PE加到LV中以加大容量 PV管理工具 显示pv信息 ​​​​​​​pvs:简要pv信息显示 pvdisplay 创建pv ​​​​​​​pvcreate /dev/DEVICE 删除pv ​​

Redis面试

烂漫一生 提交于 2019-12-11 13:50:16
1、redis简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案 2、为什么要用 redis/为什么要用缓存 主要从“高性能”和“高并发”这两点来看待这个问题。 高性能: 假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在缓存中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据即可! 高并发: redis 和 memcached 的区别 redis支持更丰富的数据类型(支持更复杂的应用场景):Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。memcache支持简单的数据类型,String。 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而Memecache把数据全部存在内存之中。 集群模式:memcached没有原生的集群模式

KVM使用总结

女生的网名这么多〃 提交于 2019-12-10 13:53:05
目录 一、虚拟化介绍 二、通过kvm安装centos7系统 三、常用操作 虚拟机列表 开关机 导出虚拟机 重命名 挂起&恢复 查看某个虚拟机对应的端口 kvm开机启动 console登陆(失败,暂无查出原因) 四、克隆 磁盘格式转换 快照管理 完整克隆 手动克隆 链接克隆 五、网络相关 六、加硬盘和扩容 在线加硬盘 扩容 七、热迁移 热迁移原理 热迁移操作 我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。 个人博客: 传送阵 笔者微信:zhanghe15069028807 一、虚拟化介绍 什么是虚拟化? 虚拟化指通过虚拟化技术将一台物理计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可以使用不同的系统,并且系统和系统之间互不干扰,能够充分合理的利用物理计算机的资源。 为什么要用虚拟化技术? 一变多 充分利用物理计算机的资源 虚拟化是向云演进的必要基础 假设公司有三台服务器,但是有60位开发人员,每个人都要求有一个测试环境,怎么能把这三台服务器合理地分配给这60个人使用?这时候我们就可以使用虚拟化技术,用这三台物理服务器虚拟出60个系统然后分配成开发人员。 假设一台服务器的性能很高,我们仅仅需要NTP服务,有些太浪费了,我们完全可以将这一台高性能服务器虚拟成10台虚拟机

Hadoop 2.x HDFS新特性

怎甘沉沦 提交于 2019-12-10 09:04:40
Hadoop 2.x HDFS新特性 HDFS联邦 HDFS HA(要用到zookeeper等,留在后面再讲) HDFS快照 回顾: HDFS两层模型 Namespace: 包括目录、文件和块。它支持所有命名空间相关的文件操作,如创建、删除、修改,查看所有文件和目录。 Block Storage Service(块存储服务) 包括两部分: 1 在namenode中的块的管理:提供datanode集群的注册、心跳检测等功能。处理块的报告信息和维护块的位置信息。支持块相关的操作,如创建、删除、修改、获取块的位置信息。管理块的冗余信息、创建副本、删除多余的副本等。 2 存储: datanode提供本地文件系统上块的存储、读写、访问等。 1.x HDFS架构的弱点 HDFS架构在整个集群中允许且仅允许一个单独的命名空间。命名空间被一个单独的namenode节点所管理。这种架构决策实现简单。但也会产生单点,内存瓶颈,性能瓶颈等限制。 HDFS联邦 目的:水平扩展名称服务 使用多个独立的namenode和namespaces。每个namenode是独立的,不需要和其它namenode协调合作。 datanode作为统一的块存储设备被所有namenode节点使用。 每一个datanode节点都在所有的namenode进行注册。 datanode发送心跳信息、块报告到所有namenode