game2004api/tools/migratedb/import_redis.py
aozhiwei c4ef7f47c1 1
2020-11-05 14:46:48 +08:00

51 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
#!/usr/bin/python
import os
import sys
import time
import json
import redis
import datetime
import pprint
argv = sys.argv
host = argv[1]
port = argv[2]
passwd = argv[3]
script_name = argv[4]
def writeToRedis(conn, cmdline):
assert len(cmdline) > 1
print(cmdline)
if cmdline[0] == 'hset':
conn.hset(cmdline[1], cmdline[2], cmdline[3])
elif cmdline[0] == 'zadd':
conn.zadd(cmdline[1], {cmdline[3]: cmdline[2]})
elif cmdline[0] == 'sadd':
conn.sadd(cmdline[1], cmdline[2])
elif cmdline[0] == 'set':
if cmdline[2] != None:
conn.set(cmdline[1], cmdline[2])
else:
print('[warning]', cmdline)
elif cmdline[0] == 'expire':
if int(cmdline[2]) >= 0:
conn.expire(cmdline[1], cmdline[2])
else:
assert False
conn = redis.Redis(host = host,
port = port,
password = passwd,
db = 0,
decode_responses = True
)
with open(script_name, 'r') as f:
for line in f:
line = line.strip()
if line == '':
continue
writeToRedis(conn, json.loads(line))