需要写个脚本,从sql文件中提取uid,并拼成key,删除redis中的这个key。
sql文件形式:
update table_1 set column_1 = 9459885 where uid = 133333333
update table_1 set column_1 = 9459886 where uid = 133333334
redisList = ['127.0.0.1', '127.0.0.2']
for redisHost in redisList:
print redisHost
con = redis.Redis(host=redisHost, port=1111, db=0, password='password', decode_responses=True)
conList.append(con)
filename = "core_update_sql.txt"
lines = open(filename, "r").readlines()
flen = len(lines)
for i in range(flen):
begin = lines[i].rfind(' ') + 1
uid = lines[i][begin:]
key = "aaa_" + uid
print key
for con in conList:
res = con.get(key)
print res
con.delete(key)
将key输出跟自己预期的key“一样”. 但发现自己获取的key结果为空,redis中key也没删除。自己将key写死,能正确获取到结果和删除。将程序生成的key和自己写死的key比较发现size不同。 推测程序生成的key比写死的key多了换行符导致, 预示对key增加strip()处理,验证得到了解决。