接口测试学习-python第七课(面向对象封装redis)

 1 import redis
 2 
 3 
 4 class ControlRedis(object):
 5     def __init__(self):
 6         self.__host = '***.*.**.***'  # 地址,设置为私有变量,类外不可修改
 7         self.__port = 6379
 8         self.__password = '**********'  # 密码
 9         self.db = 6  # 可以在实例化时修改要操作的数据库
10         try:  # 对可能出错的代码包裹一下
11             self.r = redis.Redis(host=self.__host, port=self.__port, password=self.__password, db=self.db)
12         except Exception as e:
13             print('出错了,错误是%s' % e)
14         else:
15             print('链接成功')
16 
17     def str_get(self, k):  # str方法的获取value
18         res = self.r.get(k)
19         if res:
20             return res.decode()
21         else:
22             return None
23 
24     def str_set(self, k, v, time=None):  # str方法的保存数据(有有效时间/无有效时间)
25         if time:
26             self.r.setex(k, v, time)
27         else:
28             self.r.set(k, v)
29 
30     def str_del(self, k):  # str方法的删除数据
31         res = self.str_get(k)
32         if res:
33             self.r.delete(k)
34         else:
35             print('找不到该数据')
36 
37     def hash_get(self, *k):  # hash方法的获取value,*k保证可以传入多个变量
38         res = self.r.hget(*k)
39         if res:
40             return res.decode()
41         else:
42             return None
43 
44     def hash_set(self, *args):  # hash方法的存储数据,*args中最后一个数为value,前面的数据都为key
45         self.r.hset(*args)
46 
47     def hash_getall(self, k):  # hash方法获取所有的key和value
48         dics = self.r.hgetall(k)
49         if dics:
50             new_dic = {}
51             for key, value in dics.items():  # 将获取到的key和value从二进制转码
52                 key = key.decode()
53                 value = value.decode()
54                 new_dic[key] = value
55             return new_dic
56         else:
57             return None
58 
59     def hash_del(self, *k):  #hash方法的删除数据
60         res = self.hash_get(*k)
61         if res:
62             self.r.hdel(*k)
63         else:
64             print('找不到该数据')
65     def cleax_redis(self):
66         self.r.flushdb()  # 清空redis
67         print('清空redis成功') 
68 gyx = ControlRedis()
69 # 进行str类型的操作
70 # print(gyx.str_get('gyx_test:nonum'))  # 查找不存在的函数
71 # gyx.str_set('gyx_test:num2', '第二条数据')  # 存入新数据
72 # gyx.str_set('gyx_test:num1', '第一条数据', 600)  # 存入有失效时间的数据
73 # print(gyx.str_get('gyx_test:num2'))  # 查找存在的数据
74 # gyx.str_del('gyx_test:nonum')  # 删除不存在的数据
75 # gyx.str_del('gyx_test:num1')  # 删除存在的数据
76 
77 # 进行hash类型的操作
78 # print(gyx.hash_get('gyx_ceshi', 'nothing'))  # 查找不存在的数据
79 # gyx.hash_set('gyx_ceshi', 'thing1', '第一个数据')  # 存入新数据
80 # print(gyx.hash_get('gyx_test', 'thing1'))  # 查找存在的数据
81 # gyx.hash_getall('gyx_ceshi')  # 查找所有的key和value
82 # 删除“thing1”这个数据
83 # gyx.hash_set('gyx_ceshi', 'thing2', '第二条数据')
84 # gyx.hash_del('gyx_ceshi', 'thing1')
85 # print(gyx.hash_getall('gyx_ceshi'))
86 
87 
88     

 

posted on 2018-05-28 11:11  四方城郭  阅读(352)  评论(0编辑  收藏  举报