43 lines
901 B
Python
43 lines
901 B
Python
# -*- coding: utf-8 -*-
|
|
#!/usr/bin/python
|
|
|
|
import os
|
|
import sys
|
|
import time
|
|
import json
|
|
import redis
|
|
import pymysql
|
|
import datetime
|
|
import pprint
|
|
from string import Template
|
|
|
|
argv = sys.argv
|
|
host = argv[1]
|
|
port = argv[2]
|
|
keys = argv[3]
|
|
|
|
conn = redis.Redis(host = host,
|
|
port = port,
|
|
db = 0,
|
|
decode_responses = True
|
|
)
|
|
|
|
|
|
def writeCmdToFile(cmdlist):
|
|
print(json.dumps(cmdlist))
|
|
|
|
for redis_key in keys.split(','):
|
|
if redis_key.strip() == '':
|
|
continue
|
|
real_redis_key = redis_key
|
|
if redis_key[0] == '#':
|
|
real_redis_key = redis_key[1:]
|
|
rows = conn.smembers(real_redis_key)
|
|
for row in rows:
|
|
writeCmdToFile(['sadd', real_redis_key, row])
|
|
else:
|
|
rows = conn.hgetall(real_redis_key)
|
|
for key in rows.keys():
|
|
writeCmdToFile(['hset', real_redis_key, key, rows[key]])
|
|
|