python学习笔记6--操作redis

时间:2023-03-08 23:20:13
python学习笔记6--操作redis

一、redis操作

import redis

r=redis.Redis(host='211.149.218.16',port=6379,password='123456',db=2)
r.set('suki','suki123')#插入 string类型的值
print(r.get('suki').decode())#redis读取出来的值都是Byte类型,用decode转为字符串
r.delete('suki')
r.setex('suki','hahahaha',10)#指定key的失效时间 r.setex(key,value,时间) #hash类型
r.hset('sessions','suki','123456') #rediskey:sessions rowkey:suki
print(r.hget('sessions','suki'))#获取数据
print(r.hgetall('sessions'))#获取所有数据 redis_data=r.hgetall('sessions')
all_data={}
for k,v in redis_data.items():
k=k.decode()
v=v.decode()
all_data[k]=v
print(redis_data)
print(all_data) #下面这种是有层级的 有文件夹的那种
r.set('txz:suki','没交')
r.set('txz:ski:ski2','交了')
print(r.keys())
print(r.keys('txz*'))#模糊匹配,获取txz开头的key
print(r.type('txz'))#获取key的类型

  

  

二、redis封装

def op_redis(host,password,k,v=None,port=6379,db=0):
r=redis.Redis(host=host,password=password,port=port,db=db)
if v:#传入value的话说明是写操作
r.set(k,v)
res='ok'
else:
res=r.get(k)
if res: #有值的话返回值
res=res.decode()
else:
res=None
return res