遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

redis系列(11):python操作redis

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/10950727.html

应用场景

在用python做接口自动化测试过程中,有时也会涉及到redis,因此需要掌握python操作redis。

 

安装redis模块

pip install redis

 

连接redis

使用redis模块提供的Redis类来创建连接对象,并指定Redis服务器的主机名、端口号、密码(如果有)、数据库:

import redis

r = redis.Redis(host='100.0.3.10',port=6379,password='qzcsbj',db=0)

 

操作string

r.set("name","qzcsbj")
print(r.get("name"))
print(r.exists("name"))

 

import redis
r = redis.Redis(host='ip',port=6379,password='qzcsbj',db=0)  # 建立连接
r.set('name','qzcsbj')  # 设置值
r.set('name_ch','全栈测试笔记')
res = r.get('name')  # 获取值,返回的是bytes类型数据
res2 = r.get('name').decode()  # decode解码
print(res)  # 打印结果
print(res2)
print(r.keys())# 获取所有的key
for k in r.keys():  # 遍历所有的key,打印key和value
    print('{k}:{v}'.format(k=k.decode(),v=r.get(k).decode()))
print(r.keys('n*'))  # 获取n开头的key

打印结果

b'qzcsbj'
qzcsbj
[b'name', b'name_ch']
name:qzcsbj
name_ch:全栈测试笔记
[b'name', b'name_ch']

 

操作list

r.lpush("qzcsbj", "aaa", "bbb", "ccc")
print(r.lrange("qzcsbj", 0, -1))

 

操作set

r.sadd("qzcsbj", "a", "b", "c")
print(r.smembers("qzcsbj"))

 

操作zset

r.zadd("qzcsbj","a",10)
r.zadd("qzcsbj","b",50)
r.zadd("qzcsbj","c",30)
print(r.zrange("qzcsbj", 0, -1))

 

操作hash

r.hset("info", "name", "qzcsbj")
r.hset("info", "age", "18")
print(r.hget("info", "name"))
print(r.hkeys("info"))

 

import redis
r = redis.Redis(host='ip',port=6379,password='qzcsbj',db=0)  # 建立连接
r.hset('qzcsbj','age','18')  # 设置值
print(r.hget('qzcsbj','age').decode())  # 获取值

res = r.hgetall('qzcsbj')  # 获取hash类型这个name里面所有的数据
print(res)
print(res['age'.encode()])  # 因为key是bytes类型,所以,这里需要encode
print(res['age'.encode()].decode())  # 因为key是bytes类型,所以,这里需要encode

打印结果

18
{b'age': b'18'}
b'18'
18

 

获取所有key

print(r.keys("*"))

 

posted @ 2019-05-25 17:08  全栈测试笔记  阅读(2649)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end