This commit is contained in:
2026-05-08 23:59:03 -06:00
parent 91524fbd1c
commit 0b01934180
2 changed files with 10 additions and 11 deletions

View File

@@ -11,15 +11,6 @@ class MyRedisClient(DefaultClient):
client = self.get_client(write=True)
return getattr(client, item)
def hget(self, name, key, version=None, client=None):
if client is None:
client = self.get_client(write=True)
nkey = self.make_key(key, version=version)
value = client.hget(name, nkey)
if value is None:
return None
return self.decode(value)
def redis_incr(self, key, count=1):
"""
django 默认的 incr 在 key 不存在时候会抛异常

View File

@@ -32,8 +32,10 @@ class TokenBucket:
last_capacity = self._redis_conn.hget(self._key, self._last_capacity_key)
if last_capacity is None:
return self._init_key()[0]
else:
try:
return float(last_capacity)
except ValueError:
return self._init_key()[0]
@_last_capacity.setter
def _last_capacity(self, value):
@@ -41,7 +43,13 @@ class TokenBucket:
@property
def _last_timestamp(self):
return float(self._redis_conn.hget(self._key, self._last_timestamp_key))
last_timestamp = self._redis_conn.hget(self._key, self._last_timestamp_key)
if last_timestamp is None:
return self._init_key()[1]
try:
return float(last_timestamp)
except ValueError:
return self._init_key()[1]
@_last_timestamp.setter
def _last_timestamp(self, value):