微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

每日一练pythonRedis 连接器

Python Redis 连接器

实现一个 redis 连接器,能打开/关闭 redis 连结,使用连接池

# -*- coding: UTF-8 -*-
import logging
import json
from error_code import ErrorCode
import redis
logger = logging.Logger(__name__)

redis_connection_pool = None

class RedisConnector():
    def __init__(self, host, port, password) -> None:
        global redis_connection_pool
        if redis_connection_pool is None:
            redis_connection_pool = redis.ConnectionPool(
                host=host,
                port=port,
                password=password
            )
        self.conn = None

    def open(self):
        # Todo(You): 请在此实现打开 redis 代码

    def close(self):
        if self.conn is not None:
            self.conn.close()
            self.conn = None
        return {'err': ErrorCode.SUCCESS}

if __name__ == '__main__':
    redis_connector = RedisConnector("127.0.0.1", 6379, None)

    ret = redis_connector.open()
    assert ret['err'] == ErrorCode.SUCCESS
    ret = redis_connector.close()
    assert ret['err'] == ErrorCode.SUCCESS

实现这一功能代码

class RedisConnector():
    ...
    def open(self):
        if self.conn is not None:
            return {"err": ErrorCode.SUCCESS}

        try:
            self.conn = redis.StrictRedis(
                connection_pool=redis_connection_pool)
            return {"err": ErrorCode.SUCCESS}
        except Exception as e:
            logger.error('open redis exception:', str(e))
            self.conn = None
            return {"err": ErrorCode.DB_OPEN_Failed}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐