Python--操作redis

# 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


posted @ 2018-01-24 15:07  王思磊  阅读(114)  评论(0编辑  收藏  举报