|
@@ -14,7 +14,7 @@ conn_redis = None
|
|
|
|
|
|
|
|
|
class RedisHelper(object):
|
|
|
- def __init__(self):
|
|
|
+ def __init__(self, params=None):
|
|
|
"""
|
|
|
初始化redis连接信息
|
|
|
redis_info: redis连接信息, 格式:dict, {'host': '', 'port': '', 'password': ''}
|
|
@@ -23,6 +23,7 @@ class RedisHelper(object):
|
|
|
self.host = redis_info['host']
|
|
|
self.port = redis_info['port']
|
|
|
self.password = redis_info['password']
|
|
|
+ self.params = params
|
|
|
|
|
|
def connect(self):
|
|
|
"""
|
|
@@ -45,8 +46,14 @@ class RedisHelper(object):
|
|
|
:param key_name: key
|
|
|
:return: 存在-True, 不存在-False
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
- return conn.exists(key_name)
|
|
|
+ res = conn.exists(key_name)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'get_data_from_redis',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
+ return res
|
|
|
|
|
|
def del_keys(self, key_name):
|
|
|
"""
|
|
@@ -63,11 +70,16 @@ class RedisHelper(object):
|
|
|
:param key_name: key
|
|
|
:return: data
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
if not conn.exists(key_name):
|
|
|
# key不存在
|
|
|
return None
|
|
|
data = conn.get(key_name)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'get_data_from_redis',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
return data
|
|
|
|
|
|
def set_data_to_redis(self, key_name, value, expire_time=24*3600):
|
|
@@ -78,8 +90,13 @@ class RedisHelper(object):
|
|
|
:param expire_time: 过期时间,单位:s,默认1天
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.set(key_name, value, ex=int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'set_data_to_redis',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def add_data_with_zset(self, key_name, data, expire_time=7*24*3600):
|
|
|
"""
|
|
@@ -89,10 +106,15 @@ class RedisHelper(object):
|
|
|
:param expire_time: 过期时间,单位:s,默认7天,type-int
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.zadd(key_name, data)
|
|
|
# 设置过期时间
|
|
|
conn.expire(key_name, int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'add_data_with_zset',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def get_data_zset_with_index(self, key_name, start, end, desc=True, with_scores=False):
|
|
|
"""
|
|
@@ -104,14 +126,21 @@ class RedisHelper(object):
|
|
|
:param with_scores: 是否获取元素的分数,默认 False,只获取元素的值
|
|
|
:return: data 元素值列表(不包含分数),value(videoId)类型转换为int, 包含分数时不进行类型转换
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
if not conn.exists(key_name):
|
|
|
return None
|
|
|
data = conn.zrange(key_name, start, end, desc, with_scores)
|
|
|
if with_scores:
|
|
|
- return data
|
|
|
+ data = data
|
|
|
else:
|
|
|
- return [eval(value) for value in data]
|
|
|
+ data = [eval(value) for value in data]
|
|
|
+
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'get_data_zset_with_index',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
+ return data
|
|
|
|
|
|
def get_score_with_value(self, key_name, value):
|
|
|
"""
|
|
@@ -148,8 +177,13 @@ class RedisHelper(object):
|
|
|
:param value: 元素的值
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.zrem(key_name, value)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'remove_value_from_zset',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def get_index_with_data(self, key_name, value):
|
|
|
"""
|
|
@@ -158,8 +192,14 @@ class RedisHelper(object):
|
|
|
:param value: 元素的值
|
|
|
:return: idx 位置索引
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
- return conn.zrevrank(key_name, value)
|
|
|
+ res = conn.zrevrank(key_name, value)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'get_index_with_data',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
+ return res
|
|
|
|
|
|
def get_data_from_set(self, key_name):
|
|
|
"""
|
|
@@ -167,6 +207,7 @@ class RedisHelper(object):
|
|
|
:param key_name: key
|
|
|
:return: data
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
if not conn.exists(key_name):
|
|
|
# key不存在
|
|
@@ -179,6 +220,11 @@ class RedisHelper(object):
|
|
|
if cur == 0:
|
|
|
break
|
|
|
cursor = cur
|
|
|
+
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'get_data_from_set',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
return list(set(data))
|
|
|
|
|
|
def add_data_with_set(self, key_name, values, expire_time=30*60):
|
|
@@ -189,10 +235,15 @@ class RedisHelper(object):
|
|
|
:param expire_time: 过期时间,单位:s,默认0.5小时 type-int
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.sadd(key_name, *values)
|
|
|
# 设置过期时间
|
|
|
conn.expire(key_name, int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'add_data_with_set',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def data_exists_with_set(self, key_name, value):
|
|
|
"""
|
|
@@ -201,8 +252,14 @@ class RedisHelper(object):
|
|
|
:param value: 需判断的元素
|
|
|
:return: 存在-True, 不存在-False
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
- return conn.sismember(key_name, value)
|
|
|
+ res = conn.sismember(key_name, value)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'data_exists_with_set',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
+ return res
|
|
|
|
|
|
def remove_value_from_set(self, key_name, values):
|
|
|
"""
|
|
@@ -211,8 +268,13 @@ class RedisHelper(object):
|
|
|
:param values: 元素的值, 类型-tuple
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.srem(key_name, *values)
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'remove_value_from_set',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def decr_key(self, key_name, amount=1, expire_time=30*60):
|
|
|
"""
|
|
@@ -222,9 +284,14 @@ class RedisHelper(object):
|
|
|
:param expire_time: 过期时间,单位:s,默认0.5小时 type-int
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.decr(name=key_name, amount=amount)
|
|
|
conn.expire(key_name, int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'decr_key',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def incr_key(self, key_name, amount=1, expire_time=30*60):
|
|
|
"""
|
|
@@ -234,9 +301,14 @@ class RedisHelper(object):
|
|
|
:param expire_time: 过期时间,单位:s,默认0.5小时 type-int
|
|
|
:return: None
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.incr(name=key_name, amount=amount)
|
|
|
conn.expire(key_name, int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'incr_key',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
def setnx_key(self, key_name, value, expire_time=5*60):
|
|
|
"""
|
|
@@ -245,9 +317,14 @@ class RedisHelper(object):
|
|
|
:param value: value
|
|
|
:return: 过期时间,单位:s,默认5分钟 type-int
|
|
|
"""
|
|
|
+ start_time = time.time()
|
|
|
conn = self.connect()
|
|
|
conn.setnx(name=key_name, value=value)
|
|
|
conn.expire(name=key_name, time=int(expire_time))
|
|
|
+ if self.params is not None:
|
|
|
+ log_.info({'request_id': self.params.get('request_id'),
|
|
|
+ 'operation': 'setnx_key',
|
|
|
+ 'executeTime': (time.time() - start_time) * 1000})
|
|
|
|
|
|
|
|
|
#hologres_info = config_.HOLOGRES_INFO
|