51 lines
1.2 KiB
Python
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))
|