|
@@ -0,0 +1,84 @@
|
|
|
|
|
+"""
|
|
|
|
|
+redis工具类
|
|
|
|
|
+"""
|
|
|
|
|
+import redis
|
|
|
|
|
+
|
|
|
|
|
+from tools import redis_pool
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+class redis_util(object):
|
|
|
|
|
+
|
|
|
|
|
+ def __init__(self):
|
|
|
|
|
+ # 连接redis
|
|
|
|
|
+ # self.__redis = redis.StrictRedis(host=host, password=password, port=port)
|
|
|
|
|
+ self.__redis = redis_pool.redis_pool.get_conn()
|
|
|
|
|
+
|
|
|
|
|
+ # 设置key-value
|
|
|
|
|
+ def set(self, key, value, timeout=6 * 60 * 60):
|
|
|
|
|
+ self.__redis.set(key, value)
|
|
|
|
|
+ # key超时时间
|
|
|
|
|
+ self.__redis.expire(name=key, time=timeout)
|
|
|
|
|
+
|
|
|
|
|
+ # 获取key-value
|
|
|
|
|
+ def get(self, key):
|
|
|
|
|
+ return self.__redis.get(key)
|
|
|
|
|
+
|
|
|
|
|
+ # 删除key-value
|
|
|
|
|
+ def delete(self, key):
|
|
|
|
|
+ return self.__redis.delete(key)
|
|
|
|
|
+
|
|
|
|
|
+ # 判断key是否存在
|
|
|
|
|
+ def is_exists_key(self, key):
|
|
|
|
|
+ # 返回1存在,0不存在
|
|
|
|
|
+ return self.__redis.exists(key)
|
|
|
|
|
+
|
|
|
|
|
+ # 添加集合操作
|
|
|
|
|
+ def add_set(self, key, value):
|
|
|
|
|
+ # 集合中存在该元素则返回0,不存在则添加进集合中,并返回1
|
|
|
|
|
+ # 如果key不存在,则创建key集合,并添加元素进去,返回1
|
|
|
|
|
+ return self.__redis.sadd(key, value)
|
|
|
|
|
+
|
|
|
|
|
+ # 判断value是否在key集合中
|
|
|
|
|
+ def is_insert(self, key, value):
|
|
|
|
|
+ """判断value是否在key集合中,返回布尔值"""
|
|
|
|
|
+ return self.__redis.sismember(key, value)
|
|
|
|
|
+
|
|
|
|
|
+ # 模糊匹配key_prefix
|
|
|
|
|
+ def match_pattern_prefix(self, key_prefix):
|
|
|
|
|
+ """模糊匹配key_prefix"""
|
|
|
|
|
+ return self.__redis.keys(pattern=f"{key_prefix}*")
|
|
|
|
|
+
|
|
|
|
|
+ # 模糊匹配key_suffix
|
|
|
|
|
+ def match_pattern_suffix(self, key_suffix):
|
|
|
|
|
+ """模糊匹配key_suffix"""
|
|
|
|
|
+ return self.__redis.keys(pattern=f"*{key_suffix}")
|
|
|
|
|
+
|
|
|
|
|
+ # 模糊匹配key
|
|
|
|
|
+ def match_pattern_key(self, key):
|
|
|
|
|
+ """模糊匹配key"""
|
|
|
|
|
+ return self.__redis.keys(pattern=f"*{key}*")
|
|
|
|
|
+
|
|
|
|
|
+ # 自增
|
|
|
|
|
+ def incr(self, name, amount):
|
|
|
|
|
+ """模糊匹配key"""
|
|
|
|
|
+ return self.__redis.incr(name, amount)
|
|
|
|
|
+
|
|
|
|
|
+ # 对list类型进行push
|
|
|
|
|
+ def left_push(self, name, value):
|
|
|
|
|
+ """模糊匹配key"""
|
|
|
|
|
+ return self.__redis.lpush(name, value)
|
|
|
|
|
+
|
|
|
|
|
+ # 获取list 对应key
|
|
|
|
|
+ def lrange(self, key, start_index, end_index):
|
|
|
|
|
+ return self.__redis.lrange(key, start_index, end_index)
|
|
|
|
|
+
|
|
|
|
|
+ # 获取list 对应key
|
|
|
|
|
+ def set_nx(self, key, value, timeout=6 * 60 * 60):
|
|
|
|
|
+ set_true = self.__redis.setnx(key, value)
|
|
|
|
|
+ if set_true:
|
|
|
|
|
+ self.__redis.expire(name=key, time=timeout)
|
|
|
|
|
+ return set_true
|
|
|
|
|
+
|
|
|
|
|
+ # 关闭连接
|
|
|
|
|
+ def close(self):
|
|
|
|
|
+ self.__redis.close()
|