Redis:使用redis-dump导出、导入、还原数据实例

news2024/9/23 21:27:58

redis的备份和还原,借助了第三方的工具,redis-dump

1、安装必要环境

yum -y install zlib-devel openssl-devel

2、安装redis-dump
安装ruby:

ruby下载地址:https://www.ruby-lang.org/zh_cn/downloads/

我下载的是 2.5.0 版本

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz

ruby安装教程:

安装编译环境

yum install gcc-c++

先查看ruby安装过的版本

ruby -v

先卸载之前的版本(破后而立):

yum remove ruby

解压ruby:

tar -xvf ruby-2.5.0.tar.gz

创建要安装ruby的目录:

mkdir -p /usr/local/ruby

进入刚刚解压的目录里面:

cd ruby-2.5.0

配置并指定要安装ruby的目录:

./configure --prefix=/usr/local/ruby

编译:

make

安装:

make install

建立快捷方式:

ln -s /usr/local/ruby/bin/ruby /usr/local/bin/ruby

查看ruby是否安装成功:

ruby -v
显示: 
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-linux]

手动安装rubygems

有两种安装方式:
1.yum方式安装
2.源码方式安装

源码安装rubygems:

下载 rubygems-x.x.x.zip 包,下载地址:Download RubyGems | RubyGems.org | your community gem host 点击下载ZIP

wget https://rubygems.org/rubygems/rubygems-3.5.6.zip

解压:

unzip rubygems-3.1.2.zip

安装:

cd  rubygems-3.1.2

ruby setup.rb

YUM安装rubygems:

安装依赖环境:

yum -y install zlib-devel openssl-devel

安装rubygems

yum install rubygems -y

解压,进入 rubygems 解压目录 bin 目录下安装 redis-dump

./gem install redis-dump -V

如果报错提示 ruby版本过低,则先安装以下内容

./gem install uri-redis -v 0.4.2
./gem install yajl-ruby -v 1.4.1

设置软连

ln -s /usr/local/ruby/bin/redis-dump /usr/local/bin/redis-dump
ln -s /usr/local/ruby/bin/redis-load /usr/local/bin/redis-load

3使用:

导出:

redis-dump -u 127.0.0.1:6379 > data.json

# 导出指定数据库中的数据,比如说 0 号数据库
redis-dump -u 127.0.0.1:6379 -d 0 > data8.json

# 如果 redis 设置了有密码
redis-dump -u {host} -a {password} > data.json
redis-dump -u :{password}@127.0.0.1:6379 > data.json

# 如果需要导出的 redis 是一个 URL 连接地址时,貌似可以这样(没有实操过,具体不清楚)
redis-dump -u :{password}@{domain}:{port}
# eg: redis-dump -u :123456@www.alex.com:9055

恢复:

# 导入命令
cat data.json | redis-load
# 或者
< data.json redis-load

# 导入数据到 8 号数据库
cat data8.json | redis-load -u 127.0.0.1:6379 -a 123456 -d 0
# 或者
< data8.json redis-load -u 127.0.0.1:6379 -a 123456 -d 0
# 如果以上命令是因为 utf-8 格式报错时,可以加上 `-n` 参数
cat data8.json | redis-load -n -u 127.0.0.1:6379 -a 123456 -d 0
# 这里需要注意如果你导出的DB与导入的DB不一致,则会导入失败

如果想导入到别的db库里面可以使用sed进行替换库号:

sed 's/"db":0/"db":1/g' 40-6401-redis-db-0.json > output-40-6401-redis-db-1.json

补充:
问题一:

解决 podinstall 出现 incompatible character encodings: UTF-8 and ASCII-8BIT 的问题

问题分析:

1、查看podfile文件是否存在不合法的字符,检查格式。
2、可能是 Ruby的版本号,与当前Cocoapods不适配使用。

版本号不适配处理方案:
1、卸载当前的ruby,重新安装ruby

查看当前ruby版本号
ruby -v

结果如下:
ruby 2.6.8p205 (2021-07-07 revision 67951) [x86_64-darwin21]

不建议使用最新的版本,可能存在问题,最好使用比较稳定的版本,2.6 或2.7 的版本

问题二:
导入过程中提示如下错误

edis/dump.rb:236:in block in set_value_set’)Redis#sadd will always return an Integer in Redis 5.0.0. Use Redis#sadd? instead.(called fron: /usr/local/ruby/lib/ruby/gems/2.7.0/gems/redis-dump-0.4.0/lib/r edis/dump.rb:236:in `block in set_value_set’)

AI的回答:


这个警告是由于在 Ruby Gem 的 redis-dump 中的代码中使用了 Redis#sadd 方法,而在 Redis 5.0.0 中,Redis#sadd 方法会始终返回一个整数值而不是 OK。

为了解决这个问题,建议你更新 redis-dump 的版本,或者修改 redis-dump 的代码,将 Redis#sadd 方法替换为 Redis#sadd? 方法。 Redis#sadd? 方法在 Redis 5.0.0 中会返回 true,表示添加成功,否则返回 false。

如果你能访问 redis-dump 的源代码,可以在 redis/dump.rb 文件的 236 行处找到该代码,将其中的 sadd 替换为 sadd?

You: 这个信息是指报错了吗?


不完全是。这个警告信息告诉你,在Redis 5.0.0版本中,Redis#sadd方法的行为已经改变了,它现在总是返回一个整数,而不是以前的OK。因此,在使用Redis#sadd方法时,可能会导致代码在运行时出现意外行为,因为它不再返回预期的值。

警告建议你更新你的代码,使用新的Redis#sadd?方法来替换Redis#sadd,以确保在Redis 5.0.0版本下仍然能够正常工作,并避免因此而引起的问题。
/usr/local/ruby/lib/ruby/gems/2.7.0/gems/redis-dump-0.4.0/lib/redis/dump.rb

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1518201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT-SoVITS开源音色克隆框架的训练与调试

GPT-SoVITS开源框架的报错与调试 遇到的问题解决办法 GPT-SoVITS是一款创新的跨语言音色克隆工具&#xff0c;同时也是一个非常棒的少样本中文声音克隆项目。 它是是一个开源的TTS项目&#xff0c;只需要1分钟的音频文件就可以克隆声音&#xff0c;支持将汉语、英语、日语三种…

Linux ping可以上内网,不能上外网(系统重启DNS不生效)(直接更改/etc/resolv.conf修改nameserver重启被重置)

在Linux上可以连内网&#xff0c;不能连外网 ping内网可以&#xff0c;外网不行 可能的问题&#xff1a; 1.可能设置了网络防火墙&#xff0c;阻止了服务器访问外网的请求 2.DNS解析问题&#xff1a;检查服务器的DNS设置是否正确&#xff0c;能够正确解析外部域名。如果DNS解析…

案例分析篇15:软件开发方法考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

Vue首屏优化方案

在Vue项目中&#xff0c;引入到工程中的所有js、css文件&#xff0c;编译时都会被打包进vendor.js&#xff0c;浏览器在加载该文件之后才能开始显示首屏。若是引入的库众多&#xff0c;那么vendor.js文件体积将会相当的大&#xff0c;影响首屏的体验。可以看个例子&#xff1a;…

Linux搭建我的世界(MC)整合包服务器,All the Mods 9(ATM9)整合包开服教程

Linux使用MCSM面板搭建我的世界(Minecraft)整合包服务器&#xff0c;MC开服教程&#xff0c;All the Mods 9(ATM9)整合包搭建服务器的教程。 本教程使用Docker来运行mc服&#xff0c;可以方便切换不同Java版本&#xff0c;方便安装多个mc服版本。 视频教程&#xff1a;https:…

基于SpringBoot+Vue的电商应用系统的设计与实现

1 绪论 1.1研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大环境让那些止步不前&…

工具篇--从零开始学Git

一、git概述 1.1版本控制方式 集中式版本控制工具 集中式版本控制工具&#xff0c;版本库是集中存放在中央服务器的&#xff0c; team 里每个人 work 时从中央服务器下载代码&#xff0c;是必须联网才能工作&#xff0c; 局域网或互联网&#xff0c;个人修改之…

NB-IoT模块

目录 一. NB-IoT模块实物图 二. BC20/NB-IoT模块产品规格 三. 指令顺序 1. AT判断BC20模组是否正常 2. ATE0返回OK&#xff0c;已经返回回显 3. ATCSQ 4. AT_CEREG? 5. ATCGATT? 6. ATCGATT? 四. OneNet 连接 1. AT 查看 NB(当前NB)&#xff0c;云平台根据这两个…

Three 材质纹理 (总结三)

THREE.MeshLambertMaterial&#xff08;网格 Lambert 材质&#xff09; 该材质使用基于非物理的Lambertian模型来计算反射率。可以用来创建暗淡的并不光亮的表面&#xff0c;该材质非常易用&#xff0c;而且会与场景中的光源产生反应。 MeshLambertMaterial属性 # .color : …

OpenCASCADE开发指南:专栏内容介绍及目录

1、专栏介绍 1.1 几何内核 在三维建模软件和仿真软件中&#xff0c;我们经常能听到到“几何内核”一词。那么几何内核是究竟什么是几何建模内核&#xff1f;先说结论&#xff1a;几何没有内核&#xff0c;就没有CAD软件&#xff01; 从软件的历史中可以清楚地看到&#xff0c;…

win10txt文件丢失怎么找回?六大方法,总有一款适合你

在日常工作和生活中&#xff0c;TXT文件作为一种常见的纯文本格式&#xff0c;经常用于记录笔记、保存代码或存储其他文本信息。然而&#xff0c;有时我们可能会因为各种原因&#xff0c;导致Win10系统中的TXT文件丢失。面对这种情况&#xff0c;许多用户可能会感到焦虑和无助。…

【读论文】【精读】3D Gaussian Splatting for Real-Time Radiance Field Rendering

文章目录 1. What&#xff1a;2. Why&#xff1a;3. How&#xff1a;3.1 Real-time rendering3.2 Adaptive Control of Gaussians3.3 Differentiable 3D Gaussian splatting 4. Self-thoughts 1. What&#xff1a; What kind of thing is this article going to do (from the a…

FL Studio21水果软件2024最新中文版功能介绍及下载

FL Studio21&#xff0c;也被众多用户亲切地称为“水果”&#xff0c;是一款功能强大的数字音乐工作站软件。它为用户提供了一个完整的音乐制作环境&#xff0c;从编曲、录音、编辑到混音&#xff0c;几乎涵盖了音乐制作的所有环节。 FL Studio 21 Win-安装包下载如下: https:…

蓝桥杯深度优先搜索|剪枝|N皇后问题|路径之谜(C++)

搜索&#xff1a;暴力法算法思想的具体实现 搜索&#xff1a;通用的方法&#xff0c;一个问题如果比较难&#xff0c;那么先尝试一下搜索&#xff0c;或许能启发出更好的算法 技巧&#xff1a;竞赛时遇到不会的难题&#xff0c;用搜索提交一下&#xff0c;说不定部分判题数据很…

30-Java数据访问对象模式 ( Data Access Object )

Java数据访问对象模式 实现范例 数据访问对象模式&#xff08;Data Access Object Pattern&#xff09;或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来数据访问模式涉及到的参与者有&#xff1a; 数据访问对象接口&#xff08;Data Access Object Inte…

计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

前言、相关知识 1.闭集和开集 开集&#xff1a;识别训练集不存在的样本类别。闭集&#xff1a;识别训练集已知的样本类别。 2.多模态信息融合 文本和图像&#xff0c;文本的语义信息映射成词向量&#xff0c;形成词典&#xff0c;嵌入到n维空间。 图片内容信息提取特征&…

五星门店小程序性能优化实践

一、背景介绍 1.1 业务介绍 五星门店小程序主要服务于五星线下门店交易场景&#xff0c;目前已有79个城市267家门店&#xff08;包括超级体验店、城旗店、京东Mall等&#xff09;在使用&#xff0c;用户可以通过小程序便捷地查看和购买门店的商品。五星门店小程序已实现基于T…

用Stable Diffusion生成同角色不同pose的人脸

随着技术的不断发展&#xff0c;我们现在可以使用稳定扩散技术&#xff08;Stable Diffusion&#xff09;来生成同一角色但不同姿势的人脸图片。本文将介绍这一方法的具体步骤&#xff0c;以及如何通过合理的提示语和模型选择来生成出更加真实和多样化的人脸图像。 博客首发地…

什么是VPS?如何使用VPS?

什么是VPS&#xff1f;VPS有什么用&#xff1f; VPS是Virtual Private Server的缩写&#xff0c;中文则为虚拟专用服务器&#xff0c;VPS是利用虚拟服务器软件在一台物理服务器上创建多个相互隔离的小服务器&#xff0c;是托管在机房物理服务器上的虚拟机。每个VPS服务器都可分…

基于Java+SpringBoot+vue的图书购物商城系统详细设计和实现

基于JavaSpringBootvue的图书购物商城系统详细设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文…