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')

  • 相关阅读:
    Git: git tag 使用小结(给发布版本打标记,切换并修改某个历史版本)
    android: Android水波纹点击效果
    Flutter: 运行新项目报错
    FFmpeg编译:mac下编译iOS平台的FFmpeg库(支持armv7, arm64, i386, x86_64)
    Xcode: Xcode中Command Line Tools的安装方法
    win10: windows+E 改回打开我的电脑
    DialogFragment: DialogFragment的一些理解
    Android Studio: 查看SDK源代码
    HandlerThread: HandlerThread的理解
    Looper: Looper,Handler,MessageQueue三者之间的联系
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102621.html
Copyright © 2011-2022 走看看