但是问题又来了,redis升级的时候,数据需要备份,在做多环境上线的时候,基础数据还需要迁移。因此,不仅仅需要全量的备份能力,还需要增量的备份能力,做跨环境的数据迁移。 因此,最近我研究了几款号称有能力做数据备份和导入导出的redis客户端: 1. redis-cli: 官方redis命令行客户端,优点是官方软件,缺点比较明显,就是没有图形化界面,所以用户群体是熟悉redis 4. redis-shake: 也是一个命令行工具,还支持api导出和导入数据。 5. redis-dump: 又是一个命令行工具,没怎么使用,用这个其实跟使用redis-cli差不多,缺点就是没有图形化界面。 最终,我推荐做redis数据备份选择yunedit-redis,因为我们的运维人员大部分都不是redis专职运维人员,对redis的命令也不是很熟悉。
最近公司的一个项目,需要备份redis的数据,像sql客户端备份sql语句一样,先把redis数据备份到电脑本地,然后再从电脑本地的数据,恢复到另一个redis上。 这个时候,假如使用redis原来的服务端备份是不行的,因为服务端备份是将整个redis的文件备份,恢复的时候是替换形式的,替换目标redis的存储文件,这样目标redis的数据就会被覆盖,因此不能使用原来 redis的备份。 后来发现了,可以使用yunedit-redis这个工具来备份。 下面来介绍下如何使用这个工具来做恢复:首先,打开yunedit-redis的管理界面,如下图:上图,左边的redis的列表和redis下db的列表一个redis原来是可以分为16个不同的db,默认假如不选
Redis 提供了多种数据备份和恢复方式,本文将介绍其中的几种方式,包括 RDB 备份、AOF 备份以及 Redis Cluster 集群备份。 RDB 备份RDB 备份是 Redis 的一种快照备份方式,它可以将 Redis 的数据保存到一个二进制文件中。 RDB 备份是 Redis 官方推荐的备份方式之一,它具有备份速度快、文件大小小、恢复速度快等优点。手动备份可以使用 Redis 的 BGSAVE 命令来手动执行 RDB 备份。 备份文件的命名规则为 dump.rdb,如果想要更改备份文件的存储路径和名称,可以在 Redis 的配置文件中进行配置。自动备份可以通过配置 Redis 的定时器来实现自动 RDB 备份。 如果备份频率过高,可能会影响 Redis 的性能,造成请求延迟和丢失;如果备份频率过低,可能会导致数据丢失。可以通过修改 Redis 的配置文件来配置自动备份策略。
发表评论 4,383 A+ 所属分类:数据库 说明:默认rdb方式保存,redis支持主从和哨兵等,但是在某些情况下我们会单机跑,所以有时候我们就会需要设计到备份恢复 环境:原始redis :192.168.1.200 新redis:192.168.1.201 原始redis:192.168.1.200,查看导出备份地址以及备份 Shell [root@redis-master :6379> exit [root@redis-master ~]# ll -h /root/ total 24M -rw-r--r-- 1 root root 24M Sep 20 15:11 dump.rdb 这就是备份下来的文件 1234567891011121314 [root@redis-master ~]#redis-cli 127.0.0.1:6379> auth 123456 # r-- 1 root root 24M Sep 20 15:11 dump.rdb 这就是备份下来的文件 新redis:192.168.1.201搭建和恢复: Shell [root@redis-backup
[记录点滴] 使用工具和命令对redis数据进行备份恢复 0x00 摘要 本文记录了如何使用工具对redis数据进行恢复备份,涉及的有Redis-Dump,MySQL,Redis管道命令。 0x01 简介 如果希望把Redis数据备份成json格式,我们可以使用Redis-Dump,其网址是 https://github.com/delano/redis-dump,目前版本是 v0.4 BETA sudo ln -s /opt/node-v6.11.3-linux-x64/bin/redis-dump /usr/local/bin/redis-dump 0x03 应用Redis-Dump 备份 如何使用 python generate_redis_commands_option.py > redis_commands.txt sh generate_redis_data.sh > redis_data.txt /bin/bash mysql_cmd=/opt/lampstack-5.5.30-1/mysql/bin/mysql redis_cmd=/opt/redis/redis-3.0.5/src/redis-cli
本文介绍 Redis 持久化。 RDB 该方式为默认方式。 RDB 方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时 Redis 会自动将内存中的所有数据进行快照并存储在硬盘上。 也可以手动执行 SAVE 命令 redis 127.0.0.1:6379> SAVE # 该命令将在 redis 备份目录中创建dump.rdb文件。 可以使当前数据库停止接收其他数据库的同步,转成主数据库 恢复 如果需要恢复数据,只需将备份文件 dump.rdb 或 appendonly.aof 移动到启动配置文件中设置的 dir 目录并启动服务即可 注意: 当启动配置文件启用 appendonly 时,redis 默认寻找 appendonly.aof 恢复数据,如果没有 aof 文件,则 redis 数据为空。
实验环境 此次实验的环境如下 MySQL 5.7.26 Redhat 6.10 操作系统账号:mysql 数据库备份账号:backup 上节我们说了如何进行部分备份,这部分我们说如何对其进行还原 关于还原部分备份 选项 1.1 prepare 备份 使用--apply-log --export 进行恢复动作,相当于Oracle的recover动作 后面接部分备份的目录 如果内存有空闲,可使用--use-memory 加快速度 innobackupex --apply-log --export --use-memory=1G /oradata/data/mysql/xtra/2019-11-06_10-39-58 这是由于为备份这些表,需要从数据字典中删除 ? 创建相同结构的表 首先我们需要在新的服务器上建立与需要导入的表相同结构的表 新服务器 use test CREATE TABLE `innodb_table` ( `id` int(11
文章目录 概述 Redis持久化的默认配置 Redis两种持久化方式的配置 RDB 快照的原理及配置 AOF追加文件的配置 概述 在 Redis 中存在两种方式的备份 : RDB 快照(snapshotting ), 它是备份当前瞬间 Redis在内存中的数据记录。 ---- 对于RDB 快照备份而言, 如果当前 Redis 的数据量大,备份可能造成 Redis 卡顿,但是恢复重启是 比较快速的 对于 AOF 备份而言,它只是追加写入命令,所以备份一般不会造成 Redis 卡顿 , 但是恢复重启要执行更多 的命令,备份文件可能也很大 , 这是要注意的地方 在 Redis 中允许使用其中的一种、同时使用两种,或者两种都不用,所以具体使用何种方式进行备份和持久化是用户可以通过配置决定的 如果 appendonly 配置为 yes,则以 AOF 方式备份 Redis 数据,那么此时 Redis 会按照配置,在特定的时候执行追加命令,用以备份数据。
警告 本文最后更新于 2019-11-25,文中内容可能已过时。 Duplicati 备份工具支持主流的系统,包括:Windows、 Linux、 MacOS、 Synology 等。 启动: sudo systemctl enable duplicati sudo systemctl start duplicati 打开 http://192.168.0.256:8200 即可设置备份了
redis pipeline 什么是流水线(pipeline) 首先来看 redis 执行一次操作所需要的时间: 1 次时间 = 1 次网络时间 + 1次命令时间 ? 对比如下: M操作在Redis队列中是一个原子操作,pipeline不是原子操作 pipeline与M操作都会将数据顺序的传送顺序地返回(redis 单线程) M 操作一个命令对应多个键值对,而Pipeline 是多条命令 pipeline注意事项 每次pipeline携带数量不推荐过大,否则会影响网络性能 pipeline每次只能作用在一个Redis节点上 pipeline-Jedis使用 Maven 依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0
1、备份 Redis SAVE 命令用于创建当前数据库的备份。 redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建dump.rdb文件。 2、恢复 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。 获取 redis 目录可以使用 CONFIG 命令,如下所示: redis 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/usr/local/redis/bin " 以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。 3、其他方法:Bgsave 创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。 127.0.0.1:6379> BGSAVE Background saving started
Redis3.0 Redis3.0在2015年4月1日正式发布,截止到本书完成已经到3.0.7版本,相比于Redis2.8主要特性如下: Redis3.0最大的改动就是添加Redis的分布式实现Redis Cluster,填补了Redis官方没有分布式实现的空白。 Redis Cluster经历了4年才正式发布也是有原因的,具体可以参考Redis Cluster的开发日志 1) Redis Cluster: Redis的官方分布式实现。 9) Redis日志小做调整:日志中会反应当前实例的角色(master或者slave)。 10) incr命令性能提升。
,以顺利进行连接设置密码到配置文件跟复制和只读设置一样,运行时的配置在重启后将丢失,要想重启后依然生效,得修改配置文件master side[root@m1 ~]# grep requirepass redis.conf "requirepass" configurationrequirepass 123456[root@m1 ~]# slave side[root@m2 tmp]# grep masterauth redis.conf
redis数据备份与恢复 1.启动redis 进入redis目录 redis-cli 2.数据备份 redis 127.0.0.1:6379> SAVE 该命令将在 redis 备份目录中创建dump.rdb 3.恢复数据 1、获取备份目录 redis 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/usr/local/redis/bin" 以上命令 CONFIG GET dir 输出的 redis 备份目录为 /usr/local/redis/bin。 2、停止redis服务 3、拷贝备份文件到 /usr/local/redis/bin目录下 4、重新启动redis服务 redis作为windows服务启动方式 redis-server --service-install redis.windows.conf 启动服务:redis-server --service-start 停止服务:redis-server --service-stop (adsbygoogle
= True; retry_sleep = 300 # 备份日期 backup_date = time.strftime("%Y%m%d") # 备份命令 cmd = "/usr -P %s %s -t 5 -o %s" ''''' 功能描述: 1. mydumper 远程批量备份, 备份列表由配置文件提供 2. 可按要求对备份是否压缩(mydumper 自动压缩) 3. 备份失败允许再尝试备份一次 4. (1) Started dump: 备份开始时间 my_args[3], my_args[4], my_args[5], my_args[6], my_args[7], my_args[8], my_args[9], my_args[10], my_args[11
1、性能 Redis本身的QPS已经很高了,但是如果在一些并发量非常高的情况下,性能还是会受到影响。这个时候我们希望有更多的Redis服务来完成工作。 2、扩展 第二个是出于存储的考虑。 通过master_repl_offset记录的偏移量 redis>info replication 主从复制的不足 主从模式解决了数据备份和性能(通过读写分离)的问题,但是还是存在一些不足: RDB文件过大的情况下 它是一个特殊状态的redis实例。 我们会启动一个或者多个Sentinel的服务(通过src/redis-sentinel),它本质上只是一个运行在特殊模式之下的Redis,Sentinel通过info命令得到被监听Redis机器的master Redis虚拟槽分区 Redis既没有用哈希取模,也没有用一致性哈希,而是用虚拟槽来实现的。 Redis创建了16384个槽(slot),每个节点负责一定区间的slot。
redis 数据 的备份和迁移 1.备份/拷贝/重启 利用 redis 的持久化功能,redis 重启的时候,会自动从硬盘的持久化文件中读取数据再恢复到内存中。 利用这里原理,把redis2 的持久化备份 替换成redis1 的,然后重启redis2,它就会从硬盘持久化文件恢复到内存,这样一来 redis2 就跟 redis1 一样了 要使用这个方案,就必须了解 redis 的持久化,redis 的持久化方案有2种,rdb 模式和 aof 模式: rdb 保存整个redis的数据 aof 保存成 redis可以执行的命令 rdb覆盖过去之后,新的redis数据就没了 而aof因为是保存的命令,只是在新的redis`上重新执行了一遍,所以不会覆盖 新 redis 上的数据。 简单来说如果需要保留新 redis 的数据,可以使用aof。 redis的数据目录 看到 appendonly.aof 文件 目标redis $ redis-cli -h aliyun_redis_instance_ip -p 6379 -a password
确保redis版本在2.2以上 [root@pyyuc /data 22:23:30]#redis-server -v Redis server v=4.0.10 sha=00000000:0 malloc =jemalloc-4.0.3 bits=64 build=64cb6afcf41664c 本文在redis4.0中,通过config set命令,达到不重启redis服务,从RDB持久化切换为AOF 实验环境准备 redis.conf服务端配置文件 daemonize yes port 6379 logfile /data/6379/redis.log dir /data/6379 dbfilename 服务端 redis-server redis.conf 登录redis-cli插入数据,手动持久化 127.0.0.1:6379> set name chaoge OK 127.0.0.1:6379> 备份这个rdb文件,保证数据安全 [root@pyyuc /data/6379 22:35:38]#cp dbmp.rdb /opt/ 执行命令,开启AOF持久化 127.0.0.1:6379> CONFIG
Redis SAVE 命令用于创建当前数据库的备份。 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 redis 127.0.0.1:6379> SAVE OK 该命令将在 redis 安装目录中创建 ---- 恢复数据 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。 获取 redis 目录可以使用 CONFIG 命令,如下所示: redis 127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/usr/local/redis/bin ---- Bgsave 创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
Redis 数据备份与恢复 Redis SAVE命令用于创建当前数据库的备份。 语法 redis Save命令基本语法如下: 127.0.0.1:6379> save 实例 [root@localhost ~]# redis-cli 127.0.0.1:6379> save OK 该命令将在redis安装目录中创建dump.rdb文件。 恢复数据 如果需要恢复数据,只需将备份文件(dump.rdb)移动到redis数据目录并启动服务即可。 dir输出的redis安装目录为/data/redis Bgsave 创建redis备份文件也可以使用命令BGSAVE,该命令在后台执行。