redis_util.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. """
  2. redis工具类
  3. """
  4. import redis
  5. from tools import redis_pool
  6. class redis_util(object):
  7. def __init__(self):
  8. # 连接redis
  9. # self.__redis = redis.StrictRedis(host=host, password=password, port=port)
  10. self.__redis = redis_pool.redis_pool.get_conn()
  11. # 设置key-value
  12. def set(self, key, value, timeout=6 * 60 * 60):
  13. self.__redis.set(key, value)
  14. # key超时时间
  15. self.__redis.expire(name=key, time=timeout)
  16. # 获取key-value
  17. def get(self, key):
  18. return self.__redis.get(key)
  19. # 删除key-value
  20. def delete(self, key):
  21. return self.__redis.delete(key)
  22. # 判断key是否存在
  23. def is_exists_key(self, key):
  24. # 返回1存在,0不存在
  25. return self.__redis.exists(key)
  26. # 添加集合操作
  27. def add_set(self, key, value):
  28. # 集合中存在该元素则返回0,不存在则添加进集合中,并返回1
  29. # 如果key不存在,则创建key集合,并添加元素进去,返回1
  30. return self.__redis.sadd(key, value)
  31. # 判断value是否在key集合中
  32. def is_insert(self, key, value):
  33. """判断value是否在key集合中,返回布尔值"""
  34. return self.__redis.sismember(key, value)
  35. # 模糊匹配key_prefix
  36. def match_pattern_prefix(self, key_prefix):
  37. """模糊匹配key_prefix"""
  38. return self.__redis.keys(pattern=f"{key_prefix}*")
  39. # 模糊匹配key_suffix
  40. def match_pattern_suffix(self, key_suffix):
  41. """模糊匹配key_suffix"""
  42. return self.__redis.keys(pattern=f"*{key_suffix}")
  43. # 模糊匹配key
  44. def match_pattern_key(self, key):
  45. """模糊匹配key"""
  46. return self.__redis.keys(pattern=f"*{key}*")
  47. # 自增
  48. def incr(self, name, amount):
  49. """模糊匹配key"""
  50. return self.__redis.incr(name, amount)
  51. # 对list类型进行push
  52. def left_push(self, name, value):
  53. """模糊匹配key"""
  54. return self.__redis.lpush(name, value)
  55. # 获取list 对应key
  56. def lrange(self, key, start_index, end_index):
  57. return self.__redis.lrange(key, start_index, end_index)
  58. # 获取list 对应key
  59. def set_nx(self, key, value, timeout=6 * 60 * 60):
  60. set_true = self.__redis.setnx(key, value)
  61. if set_true:
  62. self.__redis.expire(name=key, time=timeout)
  63. return set_true
  64. # 关闭连接
  65. def close(self):
  66. self.__redis.close()