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

 

posted @ 2020-05-24 21:00  cjxxl1213  阅读(136)  评论(0编辑  收藏  举报