2016-07-19 7 views
0

すべてのキーを1つのredisデータベースからローカルマシンにコピーしようとしています。両方の接続を設定し、すべてのキーを消去するには、ローカルコピーにflushdbを呼び出した後、私はこれを実行します。Python Redis:DUMPペイロードバージョンまたはチェックサムが間違っています

for key in src.keys('*'): 
    ttl = src.ttl(key) 
    # Handle TTL command returning -1 (no expire) or -2 (no key) 
    if ttl < 0: 
     ttl = 0 
    dst.restore(key, ttl, src.dump(key)) 

キーの一部が正しく復元取得されているが、その後、いくつかの点で私はredis.exceptions.ResponseError: DUMP payload version or checksum are wrong

に実行します

これを回避する方法はありますか?

+0

それは興味深いです - あなたのソースと宛先Redisはどのバージョンですか? –

+0

私は問題がTTLに関連していたと思います。 TTLを持つすべてのキーを削除したり省略したりすると、スクリプトはうまく動作します。 dst.restoreがsrc.dumpの出力や何かに対して、指定されたTTLをチェックするかどうかはわかりません。 – Andrew

答えて

0

問題のペイロードを再作成できますか?

関連する問題