python3学习(十二)--操作redis

string类型写redis

import redis

ip = 'xx.xx.x.x'
password = 'xxx'
#decode_responses 返回的二进制数据直接decode  二进制转字符串
r = redis.Redis(host=ip,password=password,port=6379,db=1)
res = r.get('test1023')
print(res)#打印结果为:b'test'。代表二进制内容。若redis.Redis(host=ip,password=password,port=6379,db=1,decode_responses=True),则直接打印字符串。
print(r.get('test102301:haha'))
print(r.hgetall('test102302'))
print(type(r.hgetall('test102302')))
print(r.hget('test102302','testvalue01'))
s = 'ss'
print(s.encode())#字符串变成bytes类型,二进制类型
print(res.decode())#decode 二进制转字符串
# #r.flushdb()#删除这个数据库里面所有的key
r.set('1023','adda123',60)#新增和修改都是它,指定失效时间
r.delete('lhz:os')#删除指定的key

#文件夹
r.set('ce1023:1os','listdir,path')
res = r.get('ce1023:1os')
print(res)
print(r.keys('ce1023*'))#获取所有的key

哈希类型写redis

#哈希类型  hash类型
#二层字典
ip = '118.24.3.40'
password = 'HK139bc&*'
r = redis.Redis(host=ip, password=password, port=6379, db=1)
session = {
    "lw1":{'sex':'','age':18},
    "lw2":{'sex':'','age':19},
}
token = {
    "sjw":{'sex':'','age':18},
    "sjw2":{'sex':'','age':18},
}
r.hset('jnz_lw','yanfafaaf','dadedeede')#新增
res = r.hget('jnz_lw','yanfafaaf')#指定获取里面小key的值
print(res)
# r.hdel('jnz_lw','yanfafaaf')#删除指定的小key
# r.delete('jnz_lw')#删除大key
res = r.hgetall('jnz_stus')#获取大key里面所有的数据
print(res)
print(type(res))


new = {}
# 1、先循环res
# 2、k和v decode一下 然后放到new这个字典里面
session = {
    "lw1":{'sex':'','age':18},
    "lw2":{'sex':'','age':19},
}
for k ,v in res.items():
    new[k.decode()]=v.decode()
print('=====下面是转完之后的')
print(type(new))
print(new)

 

posted @ 2018-10-23 15:29  A_Life  阅读(1262)  评论(0编辑  收藏  举报