redis 資料庫遷移

來源:互聯網
上載者:User

標籤:

老大讓把 一台機器上 redis 中所有的資料,遷移到另一台機器上

查了一下可以拷貝 rdb 檔案, 此方法只適用於遷移到一個新的庫, 遷移到正在使用的庫就不行了

設定 master  slave 也是可以的, 資料會自動同步,也很簡單

最笨最容易想到的方法當然是寫個指令碼,從原庫中讀出所有資料,寫入到另外一個庫中

import redisredis_from = redis.StrictRedis(host=‘m.test.gengmei.cc‘, port=6379, db=10)redis_to = redis.StrictRedis(host=‘127.0.0.1‘, port=6379, db=0)if __name__ == ‘__main__‘:    cnt = 0    for k in redis_from.keys():        data_type = redis_from.type(k)        if data_type == ‘string‘:            v = redis_from.get(k)            redis_to.set(k, v)        elif data_type == ‘list‘:            values = redis_from.lrange(k, 0, -1)            redis_to.lpush(k, values)        elif data_type == ‘set‘:            values = redis_from.smembers(k)            redis_to.sadd(k, values)        else:            print ‘not known type‘        cnt = cnt + 1    print ‘total‘, cnt

info 命令可以查看 key 的總數量,以確保所有資料都寫入成功

# Keyspace
db0:keys=41,expires=0,avg_ttl=0
db10:keys=1,expires=1,avg_ttl=80109567

 

redis 資料庫遷移

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.