zoukankan      html  css  js  c++  java
  • 接口测试学习-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     
  • 相关阅读:
    day12:crontab任务调度
    day11:组管理和权限管理
    day10:实用指令
    day09:用户管理
    day08:开机、重启和用户登录注销
    day07:vi和vim编辑器
    做一个简单的新闻客户端的一点准备
    Android学习笔记一之客户端连接服务器
    Struts2学习笔记二之Action
    Struts2学习笔记一之工作原理和struts.xml解析
  • 原文地址:https://www.cnblogs.com/myyard777/p/9099096.html
Copyright © 2011-2022 走看看