博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装redis
阅读量:5887 次
发布时间:2019-06-19

本文共 2051 字,大约阅读时间需要 6 分钟。

封装redis

1、将Redis操作封装成一个类,方便使用时调用:下面说明各个操作的函数

1)构造函数:构造连接Redis函数,并进行异常处理def __init__(self,ip,password,port=6379,db=0)

 

(2)str类型获取key数据:def str_get(self,k)

(3)str类型保存key数据,注意失效时间设置默认值:def str_set(self,k,v,time=None)

(4)删除key数据:删除前先进行判断该值是否存在:def delete(self,k)

(5)哈希类型:获取name下key数据:def hash_get(self,name,k)

(6)哈希类型:保存key数据def hash_set(self,name,k,v)

(7)哈希类型:获取name所有的数据:def hash_getall

(8)删除哈希name下key数据:def hash_del(self,name,k)

(9)清空Redis:def clean_redis(self)

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()#获取数据要有返回值,所以要有返回值    def str_set(self,k,v,time=None):        self.r.set(k,v,time)    def delete(self,k):        tag = self.r.exists(k) #判断这个key是否存在        if tag:            self.r.delete(k)            print('删除成功')        else:            print('这个key不存在')    def hash_get(self,name,k): #无论key是否存在,都不会报错,所以不用写try        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):        res = self.r.hdel(name,k)        if res:#因为删除成功会返回1,删除失败返回0            print('删除成功')            return 1        else:            print('删除失败,该key不存在')            return 0    @property#定义为属性方法,以后可以直接调用    def clean_redis(self):        self.r.flushdb()  #清1空redis        print('清空redis成功!')        return 0

 

转载于:https://www.cnblogs.com/hwtfamily/p/9154912.html

你可能感兴趣的文章
nodejs 安装 postgresql module
查看>>
【转】iOS学习之iOS禁止Touch事件
查看>>
【小记录】解决链接libcufft_static.a库出现的错误
查看>>
Java8新特性之Collectors
查看>>
怎么用CorelDRAW制作表格
查看>>
eclipse智能配置
查看>>
安装Scrapy遇到的问题处理
查看>>
个人作业——软件产品案例分析
查看>>
Java学习:方法重载的使用规则
查看>>
ASP.NET MVC 防止CSRF攻击
查看>>
EF:无法检查模型兼容性,因为数据库不包含模型元数据。
查看>>
0和5
查看>>
C# WinFrom一些技术小结
查看>>
hdu5001 Walk 概率DP
查看>>
模拟select控件&&显示单击的坐标&&用户按下键盘,显示keyCode
查看>>
Mac-OSX下Ruby更新
查看>>
jsp九个内置对象
查看>>
[Python笔记][第一章Python基础]
查看>>
Bloomberg SEP 12.x 迁移小记
查看>>
生日小助手V1.1发布了——拥有更整齐的信息列表
查看>>