当前位置:Gxlcms > 数据库问题 > python --递归--匿名函数--枚举--xlwt模块--redis--mysql--加密解密

python --递归--匿名函数--枚举--xlwt模块--redis--mysql--加密解密

时间:2021-07-01 10:21:17 帮助过:17人阅读


one = cur.fetchone()#fetchone()函数它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回None
many = cur.fetchmany()#获取指定数量结果fetmany(x)
all = cur.fetchall()#fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
cur.close()#关游标
conn.close()#关连接
print(one)
print(many)
print(all)

技术图片

 

 

 知识点五、redis 操作

1、字符串操作

import redis

#关系型数据库
#mysql oracle sqlserver、sqlite


#非关系型数据库 NoSQL
# mongodb
# redis 每秒钟达到10w次的读写,存在内存里面
r = redis.Redis(host=‘118.24.*.*‘,password=‘H***‘,port=6379,db=0,decode_responses=True)

#字符串
r.set(‘mjz_students‘,‘{"msg":"sdfsdfsd"}‘)
info = r.get(‘mjz_students‘)
print(info)
r.expire(‘dabaobao‘,30)#设置失效时间
r.delete(‘mjz_students‘)#删除
r.set(‘mjz_students‘,‘{"msg":"sdfsdfsd"}‘)

2、哈希类型

r.hset("students",‘wyj‘,‘{"money":500,"addr":"北京"}‘)
r.hset("students",‘cj‘,‘{"money":500,"addr":"上海"}‘)
r.hset("students",‘dcg‘,‘{"money":502,"addr":"北京"}‘)
r.hset("students",‘wn‘,‘{"money":502,"addr":"北京"}‘)
r.hset("students",‘wyj‘,‘{"money":502,"addr":"北京"}‘)
#
# # r.hdel("students",‘wyj‘)#删除
# # print(r.hget("students","wn"))
# # print(r.hgetall(‘students‘)) #获取所有的
#
# d = {‘qxh‘:‘sfdsdfsf‘,‘liuying‘:‘liy001‘}
# r.hmset(‘students‘,d)

技术图片

#r.flushall() #清空所有数据库的所有内容
#r.flushdb() #清空当前数据库里面的数据
#r.exists(‘name‘) #判断key是否存在
# r.keys() #获取当前数据库所有的key
# r.type(‘name‘) #获取的key的类型
redis迁移
#1、从aredis里面获取所有的key,
#2、判断key的类型
#3、根据key的类型,使用set /hset
#4、set到bredis里面
import time

import redis
r = redis.Redis(host=‘118.24.3.4**‘,password=‘*****‘,port=6379,db=0,decode_responses=True)

r2 = redis.Redis(host=‘118.24***‘,password=‘*****‘,port=6378,db=0,decode_responses=True)


for k in r.keys():
if r.type(k)==‘string‘:
value = r.get(k)
r2.set(k,value)
if r.type(k)==‘hash‘:
value = r.hgetall(k)
r2.hmset(k,value)#
3、管道
l = range(500)
start_time = time.time()

pipeline = r.pipeline() #建立一个管道
for i in l:
pipeline.set("key%s"%i,str(i))
# r.set("key%s"%i,str(i))
pipeline.execute() #执行管道

print(time.time() - start_time)

知识点六、加密解密
1、md5:加密不可逆,可以加密,不能解密
import hashlib
s=‘123456‘
m = hashlib.md5( s.encode())#md5加密
#m = hashlib.sha224( s.encode() )#加密长度为224
result = m.hexdigest() #获取加密后的结果
print(result)

技术图片

 

 

# #撞库 #加盐:增加密码复杂度
import hashlib
salt=‘24dfw32R@#@#@$‘
password = input(‘password:‘)
password += salt
m = hashlib.md5( password.encode() )
result = m.hexdigest() #获取加密后的结果
print(result)

技术图片

 

 #加盐函数

 import hashlib

def md5(s,salt=‘‘):
new_s = str(s) + salt
m = hashlib.md5(new_s.encode())
return m.hexdigest()
result = md5("67888")
print(result)

技术图片

 

 base64加密,可以解密

import base64 #能加密,也能解密
s=‘https://www.cnblogs.com/zanjiahaoge666/p/7242642.html‘
b = base64.b64encode( s.encode() ) #加密
result= b.decode()
print(result)

技术图片

 

 import base64

b = base64.b64decode( ‘5ZOI5ZOI5ZOI5ZOI‘ ) #解密
print(b.decode())

技术图片

 

python --递归--匿名函数--枚举--xlwt模块--redis--mysql--加密解密

标签:匿名函数   创建   use   多个   sfds   image   arc   匿名   dfs   

人气教程排行