# import redis
# r = redis.Redis(host='211.149.218.16', port=6379, password='123456', db=2)
# r.set('wangsilei666', '2018121') # set数据
# print(r.get('马佩佩').decode()) # redis里面取出来的数据都是bytes类型的,所以要用.decode()方法转为字符串
# r.set('wangsilei666', '666666') # 如果key存在,set就是修改数据
# print(r.get('wangsilei666').decode())
# r.delete('wangsilei666') # 删除 string,hash类型删除都是delete
# set get delete setex都针对string类型的
# hash类型
# r.hset('sessions', 'wsl', '123456') # 插入数据
# r.hset('sessions', 'mpp', '123456')
r.delete('sessions', 'wsl') # 删除
# print(r.hget('sessions', 'wsl').decode()) # 获取数据
# redis_data = r.hgetall('sessions') # 获取到hash类型里面的所有数据
#
# all_data = {}
# for k, v in redis_data.items(): # 把hash类型里面所有的数据转成正常的字典
# k = k.decode()
# v = v.decode()
# all_data[k] = v
# print(redis_data)
# print(all_data)
# hash类型没有过期时间
# 有层级的
# r.set('homework:test:wsl', '666')
# print(r.get('homework:test:wsl'))
# 获取所有的key
# print(r.keys())
# print(r.keys('txz*')) # 支持模糊匹配
# 获取key的类型
# print(r.type('txz:xj'))
# print(r.type('sessions'))
import redis
def op_redis(host, password, k, v=None, port=6379, db=0):
"""操作redis的函数"""
r = redis.Redis(host=host, password=password, port=port, db=db)
if v:
r.set(k, v)
res = 'OK'
else:
res = r.get(k)
if res: # 这里是判断有没有get到数据
res.decode()
else:
res = None
return res