import redis
r = redis.Redis(host='211.149.xxx.xx',port=6379,password='',db=1)
#set get delete setex 都是针对string类型的 k-v
# r.set('louis_session','201801211234') #set数据
# print(r.get('louis_session').decode()) #redis里面取出来的数据都是bytes类型的,所以要用decode方法转成字符串
# r.delete('louis_session') #删除信息
# r.setex('louis','123123',20) #可以指定key的失效时间,单位是秒
#hash类型
#插入数据
# r.hset('session_louis','louis_1','111')
# r.hset('session_louis','louis_2','222')
# r.hset('session_louis','louis_3','333')
#获取数据
# res = r.hget('session_louis','louis_3') #获取数据
# print(res)
# res1 = r.hgetall('session_louis') #获取到hash类型里面所有的数据
# # print(res1)
# all_data = {}
# for k,v in res1.items():
# k = k.decode()
# v = v.decode()
# all_data[k]=v
# print(res1)
# print(all_data)
#给txz这个key加一个分类文件夹homework
# r.set('txz:homework:louis1','没交')
# r.set('txz:homework:louis2','交了')
# print(r.keys())#获取所有的key
# print(r.keys('txz*')) #以txz开头的key
# print(r.type('session')) #获取key的类型
import redis
src_redis = redis.Redis(host='211.149.xxx.16',port=6379,password='',db=2)#连上redis
target_redis = redis.Redis(host='211.149.xxx.16',port=6379,password='',db=14)#连上redis
for key in src_redis.keys():
if src_redis.type(key) == b'string': #判断key的类型,因为redis数据取出来都是二进制的,所以这里也用bytes
v = src_redis.get(key) #先获取到原来的数据
target_redis.set(key,v) #再set到新的里面
else:
all_hash_data = src_redis.hgetall(key) #先获取到hash类型里面所有的数据
for k,v in all_hash_data.items(): #因为hash类型的获取到之后是一个字典,所以这里循环字典
target_redis.hset(key,k,v) #key是外面的大key,k是里面的小k,v就是小k对应的value