"""
Redis client Python
@author luojunhui
"""
import redis


class RedisClient(object):
    """
    Redis client by python
    Todo 如果 Redis 服务挂了,怎么做能够不影响业务
    思路, 每次使用 redis 接口前先判断是否连接成功,如果连接失败则跳过 redis ,不影响全局
    """

    def __init__(self):
        self.pool = None
        # self.host = 'r-bp1mb0v08fqi4hjffu.redis.rds.aliyuncs.com'
        self.host="r-bp1mb0v08fqi4hjffupd.redis.rds.aliyuncs.com",  # 外网地址
        self.port = 6379
        self.db = 2
        self.password = 'Wqsd@2019'

    def connect(self):
        """
        connect to redis server
        :return: bool
        """
        try:
            self.pool = redis.Redis(host=self.host, port=self.port, db=self.db, password=self.password)
            return True
        except Exception as e:
            print("connect to redis fail, the reason is {}".format(e))
            return False

    def select(self, key):
        """
        read info from redis
        :return:
        """
        return self.pool.get(key)

    def insert(self, key, value, expire_time):
        """
        insert info from redis
        :return:
        """
        self.pool.set(key, value, expire_time)

    def delete(self, key):
        """
        delete key
        :param key:
        :return:
        """
        self.pool.delete(key)