redis是NoSql数据库,以key --value 形式储存数据,完成题目前,需要先安装redis,具体方法请参考官方文档
以下是本人代码,承接002题
#生成200个数,把生成的数转换成字符,把字符转加密成hash码,把map转换成list
#使用循环把list加入数据库
#pymysql.connect(host,user,passwd,db)
#conn.cursor
#cur.execute
import hashlib
import pymysql
import redis
preNumbers = range(200)
preChars = map(str, preNumbers)
def valuecodes(cha):
hnm = hashlib.md5()
hnm.update(cha.encode())
return hnm.hexdigest()
codes = map(valuecodes, preChars)
print(type(codes))
myvaluecodes = list(codes)
try:
conn = pymysql.connect(host='localhost', user='root',passwd='',db='task')
cur = conn.cursor()
for d in myvaluecodes:
#print(d,i)
#i += 1
cur.execute("insert into codes(codes) values(%s)", d)
conn.commit() #注意,这里是conn.commit()不是cur.commit() 本人因为粗心致使浪费很多时间
cur.execute("select * from codes")
cur.close()
conn.close()
except Exception:
print("插入失败。")
#存入redis数据库
i = 0
try:
redconnect = redis.Redis(host='localhost',port=6379,db=0)
for code in myvaluecodes:
redconnect.set(i,code)
i += 1
except Exception:
print("插入Redis出错")