当前位置:Gxlcms > 数据库问题 > Python_python数据库操作

Python_python数据库操作

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

import redis

# redis string操作k -v
r = redis.Redis(host=‘211.149.218.16‘, port=6379, password=‘123456‘, db=2) # 连接数据库
r.set(‘zfb‘, ‘666666‘) # set数据
print(r.get(‘zfb‘).decode()) # 获取数据,取出的数据都是bytes类型,都要用.decode方法转成字符串
r.delete(‘zfb‘)#删除
r.setex(‘zfb‘,‘hhhh‘,10)#set数据,并设置过期自动清除时间10S,

# redis hash类型操作,没有过期时间
r.hset(‘sessions‘, ‘zfb‘, ‘123456‘) # set数据
print(r.hget(‘sessions‘, ‘zfb‘).decode()) # 获取数据
redis_date = r.hgetall(‘sessions‘)#获取hash类型中所有数据
all_date = {}
for k,v in redis_date.items():#把hash类型里面所有的数据转成字典
k = k.decode()
v = v.decode()
all_date[k] = v

# 有层级的添加k - v
r.set(‘txz:homework:hhh‘, ‘aaa‘)
print(r.keys()) # 获取所有的key数据
print(r.keys(‘txz*‘)) # 获取以txz开头的所有的key数据
print(r.type(‘sessions‘)) # 获取key数据类型

# redis数据迁移
src_redis = redis.Redis(host=‘211.149.218.16‘, port=6379, password=‘123456‘, db=2)
target_redis = redis.Redis(host=‘211.149.218.16‘, port=6379, password=‘123456‘, db=14)
for key in src_redis.keys():
if src_redis.type(key).decode() == ‘string‘: # 判断Key的类型,redis数据获取的都是二进制,需要转换
v = src_redis.get(key)
target_redis.set(key, v)
else:
all_hash_date = src_redis.hgetall(key)
for k, v in all_hash_date.items(): # hash类型获取的为字典,需要循环取值
target_redis.hset(key, k, v) # Key为外面的key,k,v为hash类型的key和value

Python_python数据库操作

标签:ali   byte   语句   item   password   ftime   删除   数据库   aaa   

人气教程排行