一次和58同城测试架构师交流现在测试开发技术的情况,他提到现在很多互联网公司在使用redis(Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。),对他进行接口测试是当前公司需要测试开发人员掌握的技能,在这里分享段代码,看看python如何操作redis.POPTEST一直致力于测试开发工程师的培养,利用当前主流互联网公司所需要的技术,结合案例在课堂上培训我们的学员,让我们的学员真正达到符合企业的用人要求。到现在我们不断地优化我们的课程,从第一期到现在第五期课程不断地升级,通过不断地迭代让课程进化成最好的测试开发课程。
#!/usr/bin/python
#coding=utf-8
import
redis
class
CRedis:
def
__init__(
self
):
self
.host
=
'localhost'
self
.port
=
6379
self
.db
=
0
self
.r
=
redis.Redis(host
=
self
.host, port
=
self
.port, db
=
self
.db)
#1. strings 类型及操作
#设置 key 对应的值为 string 类型的 value
def
set
(
self
, key, value):
return
self
.r.
set
(key, value)
#设置 key 对应的值为 string 类型的 value。如果 key 已经存在,返回 0,nx 是 not exist 的意思
def
setnx(
self
, key, value):
return
self
.r.setnx(key, value)
#设置 key 对应的值为 string 类型的 value,并指定此键值对应的有效期
def
setex(
self
, key, time, value):
return
self
.r.setex(key, time, value)
#设置指定 key 的 value 值的子字符串
#setrange name 8 gmail.com
#其中的 8 是指从下标为 8(包含 8)的字符开始替换
def
setrange(
self
, key, num, value):
return
self
.r.setrange(key, num, value)
#获取指定 key 的 value 值的子字符串
def
getrange(
self
, key, start ,end):
return
self
.r.getrange(key, start, end)
#mget(list)
def
get(
self
, key):
if
isinstance
(key,
list
):
return
self
.r.mget(key)
else
:
return
self
.r.get(key)
#删除
def
remove(
self
, key):
return
self
.r.delete(key)
#自增
def
incr(
self
, key, default
=
1
):
if
(
1
=
=
default):
return
self
.r.incr(key)
else
:
return
self
.r.incr(key, default)
#自减
def
decr(
self
, key, default
=
1
):
if
(
1
=
=
default):
return
self
.r.decr(key)
else
:
return
self
.r.decr(key, default)
#2. hashes 类型及操作
#根据email获取session信息
def
hget(
self
, email):
return
self
.r.hget(
'session'
, email)
#以email作为唯一标识,增加用户session
def
hset(
self
, email, content):
return
self
.r.hset(
'session'
, email, content)
#获取session哈希表中的所有数据
def
hgetall(
self
):
return
self
.r.hgetall(
'session'
)
#删除hashes
def
hdel(
self
, name, key
=
None
):
if
(key):
return
self
.r.hdel(name, key)
return
self
.r.hdel(name)
#清空当前db
def
clear(
self
):
return
self
.r.flushdb()
#3、lists 类型及操作
#适合做邮件队列
#在 key 对应 list 的头部添加字符串元素
def
lpush(
self
, key ,value):
return
self
.r.lpush(key, value)
#从 list 的尾部删除元素,并返回删除元素
def
lpop(
self
, key):
return
self
.r.plush(key)
if
__name__
=
=
'__main__'
:
r
=
CRedis()