• 封装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')

  • 相关阅读:
    express不是内部或外部命令,也不是可运行的程序或批处理文件
    Microsoft VBScript 运行时错误 错误 '800a0046' 没有权限 解决方法
    Scripting.FileSystemObject对象的详细技巧指南
    (asp)JScript读写、复制、移动文件 asp也就那回事(4)
    SQL2000系统表、存储过程、函数的功能介绍及应用
    深入浅出:全面理解SQL Server权限体系
    SqlServer2008基础知识:安全与权限
    php-fpm
    PHP获取当前url路径的函数及服务器变量:$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"],$_SER
    jQuery UI Datepicker中文显示
  • 原文地址:https://www.cnblogs.com/cslw5566/p/9102621.html
Copyright © 2020-2023  润新知