一、操作redis
# 传统的关系型数据库 # mysql oracle sql server sqllie db2 # id name passwd creatime stu # score # 数据存在磁盘上 # 使用sql语句来操作数据 # 表与表之间有关系 # 非关系型数据库nosql # {‘name':'xxx','sex':'xxx'}只要是key:value形式的就可以保存,类似字典 # mongodb 数据存在磁盘上的 # redis 数据都是存在内存里面 import redis r = redis.Redis(host='ip',port=6379,password='****',db=10) # 连接redis # 增删改查 # 操作string类型 # r.set('yy_info','age 19 sex man ddddddaaaa')# 增加、修改数据 key value 过期时间(不写则默认为-1) # res = r.get('yy_info')# 获取数据 # bytes #二进制 # print(res.decode())# 编码,就变成了字符串 # r.delete('yy_info')# 指定一个key删除,key不存在的话,也不会报错 # res1 = r.get('yy_info999') # print(res1)# None 不存在的key,会报None;若用decode,会报错 # 其他的方法 # print(r.keys('*info'))# 获取到所有的key;填写'*info',会寻找满足条件的key # print(r.exists('yy_info'))# 判断这个key是否存在 # r.flushdb()# 清空当前数据库里面所有的key # r.expire('session_crm',600)# 指定失效的时间 # print(r.ttl('session_crm'))# 用来看这个key的失效时间 # print(r.type('session_crm'))# 看key的类型 # hash哈希类的key # 哈希类型可以理解为一个字典嵌套字典 # redis命令行里面select 10就是切换数据库 # 增删改查 r.hset('session_crm','aaa','ooooooooooo')# r.hset('session_crm','bbb','ooooooooooo')# r.hset('session_crm','ccc','ooooooooooo')# # 修改也是hset # r.hdel('session_crm','aaa')# 删除指定的小key # r.deleter('session_crm')# 直接删除大key # 查询 # print(r.hget('session_crm','aaa'))# 获取指定小key里面的数据 # print(r.hgetall('session_crm')) res = r.hgetall('session_crm') # a = {} # for k,v in res.items(): # a[k.decode()]=v.decode() # print(a) # 下面的方法与上面的方法作用等同 for k,v in res.items(): res[k.decode()] = res.pop(k).decode() #能节省内存,因为把原来的key删掉了 print(res) # import requests # print(requests.post('http://ip/api/user/login',data={'username':'niuhanyang','passwd':'aA123456'}).text)
二、redis manager的相关操作
打开命令行
切换数据库
三、 decode_responses=True: 解决获取的值类型是bytes字节问题;写入的键值对中的value为str类型,不加这个参数写入的则为字节类型
# decode_responses=True: 解决获取的值类型是bytes字节问题 r = redis.Redis(host='localhost', port='6379', db=0, decode_responses=True)
如下图,是在utp的配置文件中进行设置decode_responses
关于python操作redis的介绍,可参考如下链接:
https://www.cnblogs.com/logicalsky/p/5946647.html
https://www.jianshu.com/p/2639549bedc8