redis_helper.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # redis数据库相关操作
  2. import redis
  3. class RedisHelper(object):
  4. def __init__(self, redis_info):
  5. """
  6. 初始化redis连接信息
  7. :param redis_info: redis连接信息, 格式:dict, {'host': '', 'port': '', 'password': ''}
  8. """
  9. self.host = redis_info['host']
  10. self.port = redis_info['port']
  11. self.password = redis_info['password']
  12. def connect(self):
  13. """
  14. 连接redis
  15. :return: conn
  16. """
  17. # 创建连接池
  18. pool = redis.ConnectionPool(
  19. host=self.host,
  20. port=self.port,
  21. password=self.password,
  22. decode_responses=True
  23. )
  24. # 创建redis对象
  25. conn = redis.Redis(connection_pool=pool)
  26. return conn
  27. def key_exists(self, key_name):
  28. """
  29. 判断key是否存在
  30. :param key_name: key
  31. :return: 存在-1, 不存在-0
  32. """
  33. conn = self.connect()
  34. return conn.exists(key_name)
  35. def del_keys(self, key_name_list):
  36. """
  37. 删除key
  38. :param key_name_list: keys, type-list
  39. :return: None
  40. """
  41. conn = self.connect()
  42. conn.delete(*key_name_list)
  43. def set_data_to_redis(self, key_name, value, expire_time=24*3600):
  44. """
  45. 新增数据
  46. :param key_name: key
  47. :param value: 元素的值
  48. :param expire_time: 过期时间,单位:s,默认1天
  49. :return: None
  50. """
  51. conn = self.connect()
  52. conn.set(key_name, value, ex=expire_time)
  53. if __name__ == '__main__':
  54. REDIS_INFO = {
  55. 'host': 'r-bp1ps6my7lzg8rdhwx682.redis.rds.aliyuncs.com',
  56. 'port': 6379,
  57. 'password': 'Wqsd@2019',
  58. }
  59. redis_helper = RedisHelper(redis_info=REDIS_INFO)
  60. ex = redis_helper.key_exists('com.weiqu.video.recall.hot.item.score.20211115')
  61. print(ex)
  62. redis_helper.del_keys(['com.weiqu.video.recall.hot.item.score.20211112', '1'])