redis的导入导出需要特别注意的地方

今天下暴雨,不想出去跑业务和拜访客户了,准备好好休息一下,可是,不到八点电话响了,说一个redis迁移不成功,赶紧起来干活,悲催啊!

问清情况,大致是这样的:从一个开发服务器的redis客户端执行了save指令,得到一个dump .rdb文件,然后把这个文件复制到新redis系统的数据目录(数据目录由redis配置文件指定);但重启redis-server以后,数据为空。

看样子对方搞不定,只好连vpn登录系统,查看配置文件,进程等。在日志中发现一些warning,担心是这些问题引起的,顺手做了修改,其内容为一下两部分:

1、修改系统参数文件/etc/sysctl.conf,增加如下的行:

net.core.somaxconn = 10000

vm.overcommit_memory = 1

2、在/etc/rc.local增加一行

echo never > /sys/kernel/mm/transparent_hugepage/enabled

修改完毕后,执行sysctl -p使内核参数生效;命令行执行echo never > /sys/kernel/mm/transparent_hugepage/enabled  ,重启redis仍然无效。折腾了好一阵,也是一样,看来问题不在这里啊!

突然想到一个哥们,也是用redis啊,立即求助,问他是不是导出的redis与目标redis是不是要一致(安装路径一致、名称一致、配置文件一致、日志路径等一致),答复是这样的。于是告知对方,建议把两边处理成一致(开发机我无法访问,在他办公室呢,所以不知道原样是啥),他还不太愿意执行呢,我说现在这样,只有试试呢!

改成一致之后,传来消息,好了!登上去查看,果然如此!

时间: 2024-10-10 23:46:46

redis的导入导出需要特别注意的地方的相关文章

redis数据导入导出

在2017年,项目上的redis集群需要从2.8版本更换为3.2版本,此时涉及到redis数据key的迁移,经百度.×××,发现有三种方法可以实现1.第三方工具redis-dump.redis-load实现2.通过aof机制导入导出,需要开启aof功能3.通过rdb存储机制迁移数据,此方法最为简单,直接dump $key.restore $key即可 此篇主要介绍第一种方式,redis-dump.redis-load实现redis的数据导入导出,直接进入主题 redis-dump,要求ruby版

redis keys导入导出

#!/usr/bin/python2 import sys import os import redis import time import datetime import threading string_keys=[] hash_keys=[] list_keys=[] set_keys=[] zset_keys=[] ttl_dict={} hash_mutex = threading.Lock() list_mutex = threading.Lock() set_mutex = th

Redis 数据导入导出,redis-dump命令

安装redis-dump 工具 yum install ruby rubygems ruby-devel gem install redis-dump -V 使用方法 没有密码: # 导出 redis-dump -u 127.0.0.1:6379 -d 1 > test.json # 导入 < test.json redis-load -u 10.137.195.25 有密码: # 导出 redis-dump -u :123456@127.0.0.1:6379 -O > test.jso

exp/expdp 与 imp/impdp命令导入导出数据库详解

一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_china.zhs16gbk,通过设置环境变量,可以让exp的帮助以中文显示,如果set nls_lang=American_america.字符集,那么帮助就是英文的了. 参数: 1.1  导出用户全部数据 exp 登录名称/用户密码@服务命名 FILE=文件存储的路径以及名称 log=日志存储的路径以及名称 FULL=Y(表示导出全部数据,如视图.索引关联关系等等全

excel数据导入导出数据库

第一种方法: 先把Excel另存为.csv格式文件,如test.csv,再编写一个insert.ctl 用sqlldr进行导入! insert.ctl内容如下: load data          --1.控制文件标识 infile ‘my.csv‘          --2.要输入的数据文件名为my.csv append into table "tbl_test"   --3.向表table_name中追加记录 fields terminated by ‘,‘          

Linux下mongodb安装及数据导入导出教程

Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面. 2.解压相应的安装包 命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

PL/SQL数据导入导出浅谈(1)

近来需要通过PL/SQL向Oracle中导数据,特此总结一下 试例表:test 字段:id;name;org; 1.直接复制粘贴(当数据量不是特别大的时候) 1)使用select * from test for update语句 2)执行之后,点击查询结果窗口左上方的小锁,打开之后,便可在相应的字段下面进行复制粘贴 3)粘贴结束之后,点击对号.之后提交事务即可. 优点:方便 缺点:当数据量比较大的时候准确度容易出差错 2.使用PL/SQL自带工具 1)准备数据,把需要导入的Excel文件另存为t

mysql导入导出数据

大家都知道myisam读数据时比innodb要快,但导入大量表是myisam的记录特别慢,下面是我总结的mysql在导入导出大数据时加快速度的方法 一.使用into outfile导出.load data导入数据1.导出大数据表(into outfile导出的数据是文本) mysql> select count(*) from app_china; +----------+ | count(*) | +----------+ | 17931 | +----------+ 1 row in set

IT忍者神龟之Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中 2. 建立数据库间的 dblink,然后用 create table B as select * from [email protected] where ...,或 insert into B select * from [email protected] where ... 3. exp A 表,再 imp 到