redis_util.py 2.4 KB

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