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

  • 相关阅读:
    吴恩达深度学习笔记 course2 week1 作业1
    吴恩达深度学习笔记 course2 week1 测验
    吴恩达深度学习笔记 course 2 1.1~1.14 深度学习的实用层面
    吴恩达深度学习笔记第四章作业2
    开发中经常遇到SVN清理失败的问题:
    UE4编程之C++创建一个FPS工程(一)创建模式&角色&处理输入
    Unreal Engine 4 C++ UCLASS构造函数易出错分析
    光照构建失败。Swarm启动失败
    ue4 C++ 生成并弹出一个菜单
    解决SVN Cleanup错误: Failed to run the WC DB work queue associated with
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102621.html
Copyright © 2011-2022 走看看