Skip to content

Commit

Permalink
Merge pull request #85 from Folltoshe/main
Browse files Browse the repository at this point in the history
fix: 修复使用redis缓存的时候过期时间错误
  • Loading branch information
ikun0014 authored Nov 17, 2024
2 parents 6b08683 + 8e361ff commit 497f21d
Show file tree
Hide file tree
Showing 5 changed files with 777 additions and 488 deletions.
10 changes: 6 additions & 4 deletions common/Httpx.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,11 +175,12 @@ def request(url: str, options={}) -> requests.Response:
# 缓存写入
if cache_info and cache_info != "no-cache":
cache_data = pickle.dumps(req)
expire_time = (cache_info if isinstance(cache_info, int) else 3600) + int(time.time())
expire_time = cache_info if isinstance(cache_info, int) else 3600
expire_at = int((time.time) + expire_time)
config.updateCache(
"httpx",
cache_key,
{"expire": True, "time": expire_time, "data": utils.createBase64Encode(cache_data)},
{"expire": True, "time": expire_at, "data": utils.createBase64Encode(cache_data)},
expire_time,
)
logger.debug("缓存已更新: " + url)
Expand Down Expand Up @@ -331,11 +332,12 @@ async def AsyncRequest(url, options={}) -> ClientResponse:
# 缓存写入
if cache_info and cache_info != "no-cache":
cache_data = pickle.dumps(req)
expire_time = (cache_info if isinstance(cache_info, int) else 3600) + int(time.time())
expire_time = cache_info if isinstance(cache_info, int) else 3600
expire_at = int((time.time) + expire_time)
config.updateCache(
"httpx_async",
cache_key,
{"expire": True, "time": expire_time, "data": utils.createBase64Encode(cache_data)},
{"expire": True, "time": expire_at, "data": utils.createBase64Encode(cache_data)},
expire_time,
)
logger.debug("缓存已更新: " + url)
Expand Down
15 changes: 8 additions & 7 deletions modules/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,18 @@ async def url(source, songId, quality, query={}):
logger.info(f'获取{source}_{songId}_{quality}成功,URL:{result["url"]}')

canExpire = sourceExpirationTime[source]["expire"]
expireTime = sourceExpirationTime[source]["time"] + int(time.time())
canUseTime = int(expireTime - sourceExpirationTime[source]["time"] * 0.25)
expireTime = int(sourceExpirationTime[source]["time"] * 0.75)
expireAt = int(expireTime + time.time())
config.updateCache(
"urls",
f"{source}_{songId}_{quality}",
{
"expire": canExpire,
# 取有效期的75%作为链接可用时长
"time": canUseTime,
"time": expireAt,
"url": result["url"],
},
canUseTime if canExpire else None,
expireTime if canExpire else None,
)
logger.debug(f'缓存已更新:{source}_{songId}_{quality}, URL:{result["url"]}, expire: {expireTime}')

Expand All @@ -121,7 +121,7 @@ async def url(source, songId, quality, query={}):
"result": result["quality"],
},
"expire": {
"time": expireTime if canExpire else None,
"time": expireAt if canExpire else None,
"canExpire": canExpire,
},
},
Expand Down Expand Up @@ -149,13 +149,14 @@ async def lyric(source, songId, _, query):
}
try:
result = await func(songId)
expireTime = int(time.time() + (86400 * 3))
expireTime = 86400 * 3
expireAt = int(time.time() + expireTime)
config.updateCache(
"lyric",
f"{source}_{songId}",
{
"data": result,
"time": expireTime, # 歌词缓存3天
"time": expireAt, # 歌词缓存3天
"expire": True,
},
expireTime,
Expand Down
Loading

0 comments on commit 497f21d

Please sign in to comment.