当前位置:Gxlcms > 数据库问题 > day6-Python学习笔记(十三)redis数据库

day6-Python学习笔记(十三)redis数据库

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


r = redis.Redis(host=‘211.149.218.16‘,port=6379,password=‘123456‘,db=2)#连上redis
print(r.get(‘hahahsfdfsdf‘))
#r.set(‘nhy_session‘,‘201801211505‘) #set数据
# print(r.get(‘马佩佩‘).decode()) #redis里面取出来的数据都是bytes类型的,所以要用.decode方法转成字符串
# r.delete(‘马佩佩‘)#删除一个
#r.setex(‘nhy‘,‘hahah‘,20) #可以指定key的失效时间,单位是秒‘

# set get delete setex 都是针对string类型的 k - v

#hash类型
# r.hset(‘sessions‘,‘nhy‘,‘123456‘) #插入数据
# r.hset(‘sessions‘,‘ybq‘,‘1234562‘)
# r.hset(‘sessions‘,‘xsr‘,‘1234561‘)
#print(r.hget(‘sessions‘,‘xsr‘)) #获取数据
# redis_data = r.hgetall(‘sessions‘) #获取到hash类型里面所有的数据
# all_data = {}
# for k,v in redis_data.items(): #把hash类型里面所有的数据转成正常的字典
# k = k.decode()
# v = v.decode()
# all_data[k]=v
#hash类型没有过期时间

#下面这种是有层级的
# r.set(‘txz:ybq‘,‘没交‘) #
# r.set(‘txz:haixia‘,‘交了‘) #
# print(r.keys())#获取所有的key
# print(r.keys(‘txz*‘)) #以txz开头的key
# print(r.type(‘sessions‘))#获取key的类型

# 把redis里面一个数据库的东西,弄到另外一个数据库里。
# 1、建立两个redis连接
#1、src
# 2、 target
#2、获取到所有的key,kyes ()
# 3、判断key的类型,string hash

  1. <span style="font-size: 14pt">def op_redis(host,password,k,v=None,port=6379,db=0):</span><br><span style="font-size: 14pt"> r = redis.Redis(host=host,password=password,port=port,db=db)</span><br><span style="font-size: 14pt"> if v:</span><br><span style="font-size: 14pt"> r.set(k,v)</span><br><span style="font-size: 14pt"> res = ‘ok‘</span><br><span style="font-size: 14pt"> else:</span><br><span style="font-size: 14pt"> res = r.get(k)</span><br><span style="font-size: 14pt"> if res: #这里是判断有没有get到数据</span><br><span style="font-size: 14pt"> res = res.decode()</span><br><span style="font-size: 14pt"> else:</span><br><span style="font-size: 14pt"> res = None</span><br><span style="font-size: 14pt"> return res</span><br><br><span style="font-size: 14pt"># print(__name__)</span><br><span style="font-size: 14pt"># print(‘哈哈哈哈,我在这里头‘)</span><br><span style="font-size: 14pt"># if __name__==‘__main__‘:</span><br><span style="font-size: 14pt"># #别人导入这个python文件的时候,下面的代码不会被执行</span><br><span style="font-size: 14pt"># #自己测试的时候用</span><br><span style="font-size: 14pt"># print(__name__) # __main__</span><br><span style="font-size: 14pt"> # # print(‘哈哈哈哈哈哈 到底有没有执行‘)</span><br><span style="font-size: 14pt"> # sql = ‘select * from bt_stu limit 5;‘</span><br><span style="font-size: 14pt"> # sql2 = ‘update bt_stu set class="天蝎座3" where id=503;‘</span><br><span style="font-size: 14pt"> # res = op_mysql(</span><br><span style="font-size: 14pt"> # host=‘211.149.218.16‘,</span><br><span style="font-size: 14pt"> # user=‘jxz‘,password=‘123456‘,#port这里一定要写int类型</span><br><span style="font-size: 14pt"> # port=3306,db=‘jxz‘,charset=‘utf8‘,sql=sql2)</span><br><span style="font-size: 14pt"> # print(res)</span>
  1. <span style="font-size: 14pt"><br>redis 数据迁移<br></span>
  1. i<span style="font-size: 14pt">mport redis</span><br><br><span style="font-size: 14pt">src_redis = redis.Redis(host=‘211.149.218.16‘,port=6379,password=‘123456‘,db=2)#连上redis</span><br><span style="font-size: 14pt">target_redis = redis.Redis(host=‘211.149.218.16‘,port=6379,password=‘123456‘,db=14)#连上redis</span><br><span style="font-size: 14pt">for key in src_redis.keys():</span><br><span style="font-size: 14pt"> if src_redis.type(key) == b‘string‘: #判断key的类型,因为redis数据取出来都是二进制的,所以这里也用bytes</span><br><span style="font-size: 14pt"> v = src_redis.get(key) #先获取到原来的数据</span><br><span style="font-size: 14pt"> target_redis.set(key,v) #再set到新的里面</span><br><span style="font-size: 14pt"> else:</span><br><span style="font-size: 14pt"> all_hash_data = src_redis.hgetall(key) #先获取到hash类型里面所有的数据</span><br><span style="font-size: 14pt"> for k,v in all_hash_data.items(): #因为hash类型的获取到之后是一个字典,所以这里循环字典</span><br><span style="font-size: 14pt"> target_redis.hset(key,k,v) #key是外面的大key,k是里面的小k,v就是小k对应的value</span>
  1. <span style="font-size: 14pt"><br><br><br><br></span>

day6-Python学习笔记(十三)redis数据库

标签:get   update   delete   判断   文件   导入   学习笔记   自己   word   

人气教程排行