7-1 python 操作redis
1、安装并导入redis模块
# pip install redis 安装redis模块 import redis # 导入redis模块
2、连接一个或多个redis,指定数据库名,并指定返回字符串
import redis # 导入redis模块 ip = 'xxx.xx.x.xx' password='HK139bc&*' # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建 # decode_responses=True 指定返回字符串 r = redis.Redis(host=ip,password=password,port=6379,db=10, decode_responses=True) # 连接redis r2 = redis.Redis(host=ip,password=password,port=6378,db=10, decode_responses=True) # 连接redis
3、string 类型
3.1增删改查 以及返回的数据的转化
import redis # 导入redis模块 import json ip = '118.24.3.40' password='HK139bc&*' # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建 # decode_responses=True 指定返回字符串 r = redis.Redis(host=ip,password=password,port=6379,db=15, decode_responses=True) # 连接redis r2 = redis.Redis(host=ip,password=password,port=6378,db=10, decode_responses=True) # 连接redis # string类型 # 增 set key value # 第三个参数代表过期时间 20秒后过期,不加第三个参数,表示永久有效 r.set('nhy_sessionn','sdfsdfssdf234sfdfsdsdfs',20) r.set('nhy_info','{"name":"xxxx","password":"123456","account":11234}') # 删 delete key r.delete('nhy_session') r.delete('nhy_info') r.delete('nhy') #删一个不存在的key,程序不会报错 # 修改 set key value print(r.set('nhy_session','aahhhhhhssss')) # 查 get res = r.get('nhy_info') # print(res) # print(type(res)) # str类型转json类型 res_json= json.loads(res) print(res_json) print(type(res_json)) res = r.get('nhy_info') #bytes print('bytes..',res) print('zifuchuan..',res.decode()) # res.encode() # 字符串变成bytes
3.2 清空数据库数据、获取所有的key、指定过期时间
import redis ip = '118.24.3.40' password='HK139bc&*' # db如果默认不写是第一个数据库,如果数据库不村子的话,会默认创建 # decode_responses=True 指定返回字符串 r = redis.Redis(host=ip,password=password,port=6379,db=15, decode_responses=True) # 连接redis r.flushall() # 清空所有数据库里面的数据 r.flushdb() # 只清空当前数据库里面的数据 print(r.keys()) #获取到所有的key print(r.keys('*session*')) #模糊匹配 r.set('名称','小明') print(r.get('名称')) r.set('qml_session','sdfsdfsdfss') r.expire('qml_session',30) # 指定过期时间
4、哈希类型的增删该查
# 增 r.hset('sms_code','18612532945','121213') # set值 r.hset('sms_code','18612532941','121313') # 查 print(r.hget('sms_code','18201034732')) # 获取值 print(r.hgetall('sms_code')) # 获取到这个key里面所有的内容 # 删 r.hdel('sms_code','18201034732') #删除指定的key r.delete('sms_code') #把整个key删除掉 print(r.type('sms_code')) print(r.type('lyl_session007')) # 多一层文件夹 r.set('yulin:xxx','{"username":"yulin"}')