zoukankan      html  css  js  c++  java
  • 封装redis

    import redis

    # r = redis.Redis()

    class MyRedis():

             def __init__(self,ip,password,port=6379,db=0):

                       #构造函数     类在实例化的时候会执行。

                       try:

                                self.r = redis.Redis(host=ip,password=password,port=port,db=db)

                                # r = redis.ConnectionPool(host=ip,password=password,port=port,db=db)

                       except Exception as e:

                                print('redis连接失败,错误信息%s'%e)

             def str_get(self,k):

                       res = self.r.get(k)

                       if res:

                                return res.decode()    #bytes类型转化为字符串。

             def str_set(self,k,v,time=None):

                       self.r.set(k,v,time)    #  不出异常不需要

             def delete(self,k):

                       tag = self.r.exists(k) #  r.exists 用来判断这个key是否存在

                       if tag:

                                self.r.delete(k)

                                print('删除成功')

                       else:

                                print('这个key不存在')

             def hash_get(self,name,k):

                       res = self.r.hget(name,k)

                       if res:

                                return res.decode()

             def hash_set(self,name,k,v):

                       self.r.hset(name,k,v)

             def hash_getall(self,name):

                       data = {}

                       # {b'12': b'1212', b'3': b'sdad', b'4': b'asdadsa'}

                       res = self.r.hgetall(name)   #获取的结果是一个字典

                       if res:

                                for k,v in res.items():

                                         k =  k.decode()    #对于返回的结果转化为字符串

                                         v = v.decode()

                                         data[k]=v   #加入字典

                       return data

             def hash_del(self,name,k):     #尝试删除不存在 不报错 ,所以不需要try

                       res = self.r.hdel(name,k)

                       if res:

                                print('删除成功')

                                return 1     #删除成功会返回1   返回给该函数。

                       else:

                                print('删除失败,该key不存在')

                                return 0

             @property         #属性方法  可以a.clean_redis直接调用

             def clean_redis(self):

                       self.r.flushdb()  #清空redis 使用 flushdb()用来清空库

                       print('清空redis成功!')

                       return 0

     ####################################

    my = MyRedis('118.24.xxx','HK139232')    #不会报错 try方法没效果,其实有一个  redis.ConnectionPool 的方法可以???找一下

    my.str_get('sss')

  • 相关阅读:
    python模块之subprocess
    Linux系统中如何升级pip
    如何发布自己用python写的py模块
    Win10系统如何分区
    Win10修改编辑文件无法保存怎么办(没有权限)
    robotframework利用selenium2Library实现无界面自动化关键字
    jmeter学习之安装篇(一)
    javascript——this关键字
    Ajax——请求
    AJAX学习——什么是AJAX
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102621.html
Copyright © 2011-2022 走看看