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