redis_helper.py 934 B

123456789101112131415161718192021222324252627282930
  1. import redis
  2. class SyncRedisHelper(object):
  3. _pool: redis.ConnectionPool = None
  4. _instance = None
  5. def __new__(cls, *args, **kwargs):
  6. if cls._instance is None:
  7. cls._instance = super().__new__(cls, *args, **kwargs)
  8. return cls._instance
  9. def _get_pool(self) -> redis.ConnectionPool:
  10. if self._pool is None:
  11. self._pool = redis.ConnectionPool(
  12. host='r-bp1mb0v08fqi4hjffu.redis.rds.aliyuncs.com',
  13. # host='r-bp1mb0v08fqi4hjffupd.redis.rds.aliyuncs.com', # 外网地址
  14. port=6379,
  15. db=2,
  16. password='Wqsd@2019'
  17. )
  18. return self._pool
  19. def get_client(self) -> redis.Redis:
  20. pool = self._get_pool()
  21. client = redis.Redis(connection_pool=pool)
  22. return client
  23. def close(self):
  24. if self._pool:
  25. self._pool.disconnect(inuse_connections=True)