精华内容
下载资源
问答
  • redis 迁移

    2021-04-13 07:54:52
    通过Redis-shake将自建Redis迁移至阿里云
    展开全文
  • Redis迁移

    2020-04-03 15:45:33
    很多人都用过redis,但很多人的工作除了开发,还有运维,糟心的事哪里都有,这里记一下我在迁移redis的时候用到的一款工具,个人觉得很方便,重要的内容要打括号【redis-shake】,下载就不提供了,网上一大片,这里...

    很多人都用过redis,但很多人的工作除了开发,还有运维,糟心的事哪里都有,这里记一下我在迁移redis的时候用到的一款工具,个人觉得很方便,重要的内容要打括号【redis-shake】,下载就不提供了,网上一大片,这里讲讲配置,打开目录下的redis-shake.conf文件,按照节奏,

    #配置源地址

    source.address = 192.168.1.1:6379

    source.auth_type = auth

    #配置源密码

    source.password_raw = 123456

    #配置目标地址

    target.address = 192.168.1.2:6379

    target.auth_type = auth

    #配置目标库索引

    target.db = 1

    # 当源目的有重复key,是否进行覆写
    rewrite = true

    # 指定的db被通过,比如0;5;10将会使db0, db5, db10通过, 其他的被过滤
    filter.db.whitelist = 0
    # 指定的db被过滤,比如0;5;10将会使db0, db5, db10过滤,其他的被通过
    filter.db.blacklist =

     

    重要的都配置好了,其它的默认就行,

    启动

    启动二进制:./redis-shake.linux -conf=redis-shake.conf -type=xxx # xxx为sync, restore, dump, decode, rump其中之一,全量+增量同步请选择sync。 mac下请使用redis-shake.darwin,windows请用redis-shake.windows.

     

    支持的迁移模式

    decode: 把Redis RDB文件解析成人类可读的文件格式.
    restore: 把Rdis RDB文件作为数据源,恢复到目标Redis实例中.
    dump: 对源Redis实例中的数据dump到RDB文件中.
    sync: 基于Redis sync/psync命令从源redis实例同步到目标Redis实例,该模式包含全量同步和增量同步两个阶段。(通过默认Redis Slave来实现)
    rump: 基于Redis scan命令的方式从源Redis同步到目标Redis实例。只支持全量同步,这种方式通常适用于源redis不支持sync/psync命令的场景

    sync相比rump模式来说性能较好,通用性较差,一般来说sync模式使用的相对来说更多一些

    下载地址:redis-shake.rar

     

    展开全文
  • redis迁移到redis

    2018-02-01 16:14:27
    redis迁移到redis,支持string、list、set、hash;支持主从、支持集群版;支持制定库迁移,已经测试验证。如有问题欢迎留言指出可以定向优化
  • 在把一个大表从 MySQL 迁移Redis 时,你可能会发现,每次提取、转换、导入一条数据是让人难以忍受的慢!这里有一个技巧,你可以通过使用管道把 MySQL 的输出直接输入到 redis-cli输入端,这可以使两个数据库都能...

    在把一个大表从 MySQL 迁移到 Redis 时,你可能会发现,每次提取、转换、导入一条数据是让人难以忍受的慢!这里有一个技巧,你可以通过使用管道把 MySQL 的输出直接输入到 redis-cli输入端,这可以使两个数据库都能以他们的最顶级速度来运行。

    使用了这个技术,我把 800 万条 MySQL 数据导入到 Redis 的时间从 90 分钟缩短到了两分钟。

    Mysql到Redis的数据协议

    redis-cli命令行工具有一个批量插入模式,是专门为批量执行命令设计的。这第一步就是把Mysql查询的内容格式化成redis-cli可用的数据格式。here we go!

    我的统计表:

    CREATETABLEevents_all_time (

    idint(11) unsignedNOTNULLAUTO_INCREMENT,

    actionvarchar(255)NOTNULL,

    countint(11)NOTNULLDEFAULT0,

    PRIMARYKEY(id),

    UNIQUEKEYuniq_action (action)

    );

    准备在每行数据中执行的redis命令如下:

    HSET events_all_time [action] [count]

    按照以上redis命令规则,创建一个events_to_redis.sql文件,内容是用来生成redis数据协议格式的SQL:

    -- events_to_redis.sql

    SELECTCONCAT(

    "*4\r\n",

    '$', LENGTH(redis_cmd),'\r\n',

    redis_cmd,'\r\n',

    '$', LENGTH(redis_key),'\r\n',

    redis_key,'\r\n',

    '$', LENGTH(hkey),'\r\n',

    hkey,'\r\n',

    '$', LENGTH(hval),'\r\n',

    hval,'\r'

    )

    FROM(

    SELECT

    'HSET'asredis_cmd,

    'events_all_time'ASredis_key,

    actionAShkey,

    countAShval

    FROMevents_all_time

    )ASt

    ok, 用下面的命令执行:

    mysql stats_db--skip-column-names --raw 

    很重要的mysql参数说明:

    --raw: 使mysql不转换字段值中的换行符。

    --skip-column-names: 使mysql输出的每行中不包含列名。

    redis数据批量导入导出

    针对工作中可能用到 将某台服务器中的redis数据 导出然后导入到新的服务器中,一种方法是redis-dump工具,但是 他需要安装ruby环境,安装环境的过程中还可能出现意想不到的错误。所以不得不选用其他方法了。一下 是几点思路 供参考。

    1、数据导出,不用自己写,也不用第三方脚本,

    echo "HGETALL xxx" | redis-cli -h localhost -p 6379

    echo "HGETALL xxx" | redis-cli -h localhost -p 6379 >> wordlist.raw

    2.这样得到的结果,你可以上到服务器上 查看 wordlist.raw文件

    3.整理成输入需要的文件格式

    20130629014313463.jpg

    $f = 'xx.oo';

    $lines = 0;

    $inkey = 0;

    $rawfile = 'xx.oo';

    $hashkey = 'xx';

    $buff = '';

    $fp = fopen($rawfile,'w');

    $fps = fopen($f,'r');

    while($line= fgets($fps)){

    $inkey = !$inkey;

    if ($inkey){

    $f = 'bayes_wordlist.raw';

    $lines = 0;

    $inkey = 0;

    $rawfile = 'bayes_wordlist.3.raw';

    $hashkey = 'bayes_wordlist';

    $buff = '';

    $fp = fopen($rawfile,'w');

    $fps = fopen($f,'r');

    while($line= fgets($fps)){

    $inkey = !$inkey;

    if ($inkey){

    $line = sprintf('"%s"',trim($line));

    $buff = "HSET $hashkey ".trim($line);

    }

    else

    {

    $buff .= ' "'.trim($line).'"';

    fwrite($fp,$buff."\r\n");

    }

    }

    $buff = "HSET $hashkey ".trim($line);

    }

    else

    {

    $buff .= ' "'.trim($line).'"';

    fwrite($fp,$buff."\r\n");

    }

    }

    如果选择哪个库 要在首行写入 select x

    4.利用redis-cli进行导入

    echo `date` > pipe.log && cat xx.oo | redis-cli >> pipe.log && echo `date` >> pipe.log

    5.加上了时间记录,和对导入结果进行纪录,真正执行导入的语句是

    cat wordlist.raw | redis-cli,当然严谨些的话redis-cli后面还要加-h localhost -p 6379等参数。

    展开全文
  • redis迁移工具

    2020-12-23 14:11:16
    redis迁移工具(centos7 安装) redis-dump 安装 yum install centos-release-scl-rh -y #配置yum仓库 yum install rh-ruby23* -y #安装其他工具,不安装后面可能会报错 scl enable rh-ruby23 bash ruby -v #查看版本 ...

    redis迁移工具(centos7 安装)

    redis-dump

    安装

    yum install centos-release-scl-rh -y
    #配置yum仓库
    yum install rh-ruby23*  -y
    #安装其他工具,不安装后面可能会报错
    scl enable rh-ruby23 bash
    ruby -v
    #查看版本
    gem install redis-dump -V
    

    使用

    # redis-dump导出数据
    redis-dump -u 192.168.0.4 -a 123456 > test.json
    # redis-load 导入数据
    < test.json redis-load -n -u 192.168.0.5 -a 123456
    
    # 帮助
    redis-dump --help
    
      Try: /opt/rh/rh-ruby23/root/usr/local/bin/redis-dump show-commands
    Usage: /opt/rh/rh-ruby23/root/usr/local/bin/redis-dump [global options] COMMAND [command options] 
        -u, --uri=S                      Redis URI (e.g. redis://hostname[:port])
        -d, --database=S                 Redis database (e.g. -d 15)
        -a, --password=S                 Redis password (e.g. -a 'my@pass/word')
        -s, --sleep=S                    Sleep for S seconds after dumping (for debugging)
        -c, --count=S                    Chunk size (default: 10000)
        -f, --filter=S                   Filter selected keys (passed directly to redis' KEYS command)
        -b, --base64                     Encode key values as base64 (useful for binary values)
        -O, --without_optimizations      Disable run time optimizations
        -V, --version                    Display version
        -D, --debug
            --nosafe
    

    再次使用

    # 新登录后必须生新加载
    scl enable rh-ruby23 bash
    
    展开全文
  • Redis在把一个大表从 MySQL 迁移Redis 时,你可能会发现,每次提取、转换、导入一条数据是让人难以忍受的慢!这里有一个技巧,你可以通过使用管道把 MySQL 的输出直接输入到 redis-cli输入端,这可以使两个数据库...
  • redis迁移,redis集群迁移$yuminstallautomakelibtoolautoconfbzip2-y$gitclonehttps://github.com/vipshop/redis-migrate-tool$cdredis-migrate-tool$autoreconf-fvi$./configure$make2、配置文件从redis cluste...
  • Redis cluster使用slots来分配集群中的资源,因此官方提供了热迁移slots的方案,以便于迁移redis cluster节点中的信息。此方案不仅可以使用于节点迁移,也可以根据资源的不同,配置不同的slots数量。集群原环境:...
  • 线上redis迁移思路

    2018-01-29 02:41:51
    线上redis迁移思路 背景 实际应用中,我们的系统在上线后,总会遇到一些问题,需要对redis进行迁移,或者说切实例。但是由于是线上系统,一个是要谨慎,一个是要保证服务可用,在不停服的情况进行处理。 比如,我们...
  • 分享:一步完成 MySQL 向 Redis 迁移 一步完成 MySQL 向 Redis 迁移 http://www.oschina.net/translate/mysql-to-redis-in-one-step ...
  • 故开启了 broker 由 Redis 迁移至 RabbitMq 的路程。 如何无缝迁移 ? 由于不能停服迁移,最大的问题就变成了如何保证原有 Redis 中的任务都能正常执行完成,且新的任务在 rabbitmq 中正常运转。 话说 ...
  • Redis 迁移 ssdb(一)

    2018-10-14 21:28:38
    Redis 迁移 ssdb(一) 由于公司机器不够,为了节约成本,推荐用的缓存从redis换成ssdb,本文记录自己所采用的方法和踩的坑。 一、数据整理 推荐使用的redis,存放的数据可以分为下面几类:a 用户的缓存,用来...
  • 踩坑之路——Redis迁移遇到的一路坑

    千次阅读 2017-11-03 11:22:40
    Redis-Docker 里面没有 redis.conf需求是,公司要上云,把之前的机房的redis迁移到云redis。阿里的数据库redis版只支持aof方式,而公司之前的redis用的是rdb,所以首先需要把 rdb 转换成 aof ,所以需要改 redi
  • Redis迁移

    2019-10-03 08:10:39
    move key db 用于在Redis内部进行数据迁移 dump key + restore key ttl value 可以实现在不同的Redis实例之间进行数据迁移 127.0.0.1:6379> dump name "\x00\x05allen\a\x00\x82\x9a*T/\xb9\x9b\x87" ...
  • linux redis迁移

    2019-10-02 08:24:04
    在原服务器上的redis执行save命令后,生成了dump文件,拷贝到新服务器的安装目录,可能是版本问题,数据无法还原。...2.重启redis,完美实现了数据迁移 转载于:https://www.cnblogs.com/swaggyC/p/5834531.html...
  • Redis 迁移到 SSDB

    千次阅读 2014-01-13 18:33:35
    因为越来越多的用户希望从 Redis 迁移到 SSDB, 所以我提供了一个数据迁移的脚本, 用于方便地将 Redis 数据拷贝到 SSDB 中. 这个脚本是一个 PHP 脚本, 所以要求你的环境要安装 PHP, 如果你的应用原来就是 PHP 的, 那...
  • 准备数据,在想要迁移的实例上的所有节点执行BGREWRITEAOF,等待命令执行完毕。aof文件生成。将文件copy到某个外部目录下。这个时候你可以将原有的实例停服。 创建一个集群包含你aof文件个数的主节点,从节点你可以...
  • 远程redis 迁移 本地 过去几周我遇到的第一大问题:如何使用完全远程的劳动力来运行云迁移项目? 原因很明显。 考虑到新的世界秩序,公司在被迫进入远程工作人员范式的同时,加速了对战术云迁移的需求。 一些组织...
  • php实现redis迁移

    2021-01-07 11:29:09
    redis普通的数据库迁移,只能整个redis save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样: ...
  • 对于 redis迁移我在网上看到了很多方法,有使用redis-dump 的,有使用aof导入方式,有rdb文件迁移方式,和redis-port。 由于我是将 redis 从阿里云迁移到AWS,那么很多方法都被pass掉了,最后我想使用的方法是...
  • 如何让redis 迁移大key的restore性能提升6倍 redis支持migrate key的命令,支持从源redis节点迁移key到目标节点上,目标节点再执行restore命令,将数据加载进内存中。以800MB,数据类型为zset(skiplist) 的 key为例...
  • 容器化对于Redis自动化运维效率、资源利用率方面都有巨大提升,携程在对Redis在容器上性能和稳定性进行充分验证后,启动了生产Redis迁移容器化的项目。其中第一批次两...
  • 一、数据库: 数据库分为关系型、非关系型(No sql) 关系型:mysql、Oracal  1.要用sql查询、各个表之间有联系...  2....非关系型:例如mangoDB、redis、memcache ... 1.... 2.... 3....redis:数据存在内存中,支持每秒10...
  • 不管是单节点还是集群都可以用以下的思路迁移至cluster集群中去 方案步骤 1)获取原单实例节点D的持久化AOF(rdb)文件,如果是集群就先将所有的solt移动到一台机器上 2)新准备三个节点A,B,C,建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,429
精华内容 971
关键字:

redis迁移

redis 订阅