python使用笔记16--操作redis
操作redis应先引入第三方模块
执行以下命令
pip install redis
1.redis常用方法
1 import redis 2 #decode_responses=True将bytes转成字符串 3 #Redis查出来的结果,默认是bytes类型的 4 r = redis.Redis(host="127.0.0.1",port=6379,password="132131213&*",decode_responses=True) 5 6 #字符串类型 7 r.set('xxl_session','143432jlfdjldskfs',10)#插入一条数据,key,value,有效时长:默认为永久,单位为秒 8 session = r.get('xxl_session')#获取指定的值 9 print(session) 10 #new_session = session.decode()#如果连接时没有设置decode_responses=True,需要手动将获取的值转换为字符串 11 #print(new_session) 12 #r.delete()#删除 13 14 #hash类型 15 r.hset('ssz_student','xiaoxiaolin','xiaoxiaolin')#插入数据 16 r.hset('ssz_student','xiaoxiaolin111','xiaoxiaolin111')#插入数据 17 r.hset('ssz_student','xiaoxiaolin222','xiaoxiaolin222')#插入数据 18 #print(r.hget('ssz_student','xiaoxiaolin').decode())#获取数据 19 print(r.hget('ssz_student','xiaoxiaolin'))#获取数据 20 r.hdel('ssz_student','xiaoxiaolin222')#删除 21 print(r.hgetall('ssz_student')) 22 print(r.keys())#获取所有的key 23 print(r.keys('*session*'))#模糊匹配 24 print(r.type('xxl_session')) 25 r.expire('ssz_student',50)#指定某个key的过期时间,单位是秒 26 r.flushall()#清空所有数据库里面的key 27 r.flushdb()#清空当前数据库里面的key 28 29 d = {"a":1,"b":2,"c":3} 30 r.hmset('ssz_student',d)#插入字典 31 r.delete('ssz_student')#删除 32 33 #插入的数据是一个文件夹里多个key 34 r.set('girls:xxl','xxl') 35 r.set('girls:wrm','wrm')
2.redis小练习
1 #将一个数据库中的所有数据迁移到另一个数据库中 2 import redis 3 r1 = redis.Redis(host="127.0.0.1",port=6379,password="342342&*",decode_responses=True) 4 r2 = redis.Redis(host="127.0.0.1",port=6379,password="3242342&*",decode_responses=True,db=6) 5 for key in r1.keys():#遍历数据库中所有的key 6 key_type = r1.type(key) 7 if key_type == 'string':#判断是字符串的 8 key_value = r1.get(key) 9 r2.set(key,key_value) 10 elif key_type == 'hash':#判断是hash类型的 11 key_value = r1.hmget(key) 12 r2.hmset(key,key_value) 13 else: 14 pass