redis.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import redis
  2. class SyncRedisHelper:
  3. _pool: redis.ConnectionPool = None
  4. _instance = None
  5. def __init__(self):
  6. if not self._instance:
  7. self._pool = self._get_pool()
  8. self._instance = self
  9. def _get_pool(self) -> redis.ConnectionPool:
  10. if self._pool is None:
  11. self._pool = redis.ConnectionPool(
  12. # host="r-bp1mb0v08fqi4hjffupd.redis.rds.aliyuncs.com", # 外网地址
  13. host="r-bp1mb0v08fqi4hjffu.redis.rds.aliyuncs.com", # 内网地址
  14. port=6379,
  15. db=0,
  16. password="Wqsd@2019",
  17. # password="Qingqu2019",
  18. )
  19. return self._pool
  20. def get_client(self) -> redis.Redis:
  21. pool = self._get_pool()
  22. client = redis.Redis(connection_pool=pool)
  23. return client
  24. def close(self):
  25. if self._pool:
  26. self._pool.disconnect(inuse_connections=True)
  27. def insert_pq_data(data):
  28. task = f"task:pq_video_id"
  29. helper = SyncRedisHelper()
  30. client = helper.get_client()
  31. client.rpush(task, *data)
  32. def get_pq_id():
  33. task = f"task:pq_video_id"
  34. helper = SyncRedisHelper()
  35. client = helper.get_client()
  36. ret = client.lpop(task)
  37. return ret