Python Redis 简单封装

在项目中将Redis服务封装成服务类。使得代码简洁,开发难度降低。(此处以Python为实现语言,思路大致相同)

import redis

class RedisServer:
    # redis port
    redis_port = 6379
    # redis host
    redis_host = 'localhost'
    # 连接对象
    r = None
    # 连接池
    pool = None

    def __init__(self):
        self.r = self.Server()

    # 断开连接
    def HandleOver(self):
        self.pool.disconnect()
        self.r.close()

    # 返回一个连接对象
    def Server(self):
        self.pool = redis.ConnectionPool(host=self.redis_host,
                                         port=self.redis_port,
                                         decode_responses=True)
        r = redis.Redis(connection_pool=self.pool)
        return r

简单方法实例

根据user_id来返回对应的数据

    def GetSingleData(self, user_id):
        query_res = self.r.hmget(user_id, 'score')
        return query_res

更新数据

    def UpdateData(self, user_data):
        self.FlushData()
        # 转换数据类型
        user_data['rank'] = user_data['rank'].astype(float)
        user_data['score'] = user_data['score'].astype(float)
        for i in range(len(user_data)):
            self.r.hset(user_data.iloc[i]['user_id'],
                        mapping={'score': user_data.iloc[i]['score'],
                                 "rank": user_data.iloc[i]['rank']})

清空所有的数据

    def FlushData(self):
        self.r.flushall()

获取所有数据的信息,此处需要分页处理

    def GetAllData(self, page, number):
        pass

根据user_id获取某一特定属性

    def GetRecData(self, user_id):
        query_res = self.r.hmget(user_id, 'rec')
        return str(query_res[0])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值