添加redis同步脚本和本地数据

This commit is contained in:
zzh 2026-05-14 11:39:59 +08:00
parent 03358b5426
commit 2106c5c287
2 changed files with 44 additions and 0 deletions

44
redis-sync.py Normal file
View File

@ -0,0 +1,44 @@
import redis
# 本地 Redis
src = redis.Redis(host='localhost', port=6379, password='Zzh08165511', db=0, decode_responses=False)
# 远程 Redis
dst = redis.Redis(host='175.24.177.96', port=6379, password='Zzh08165511', db=0, decode_responses=False)
src_count = src.dbsize()
dst_count = dst.dbsize()
print(f"本地: {src_count} keys")
print(f"远程: {dst_count} keys")
print(f"需同步: {src_count - dst_count} keys")
print("")
# 获取所有本地 key
keys = src.keys()
total = len(keys)
synced = 0
updated = 0
for key in keys:
try:
data = src.dump(key)
if data:
ttl = src.ttl(key)
if ttl < 0:
ttl = 0
# 检查远程是否已有此 key
exists = dst.exists(key)
dst.restore(key, ttl * 1000, data, replace=True)
if exists:
updated += 1
else:
synced += 1
if (synced + updated) % 100 == 0:
print(f"进度: {synced + updated}/{total}")
except Exception as e:
print(f"同步失败 {key}: {e}")
print(f"\n同步完成!")
print(f"新增: {synced} keys")
print(f"更新: {updated} keys")
print(f"远程现有: {dst.dbsize()} keys")

Binary file not shown.