Skip to content

Commit 414072c

Browse files
committed
Added support for memory cache and Redis cache
1 parent f7f6292 commit 414072c

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

OpenBioCardServer/Controllers/Classic/ClassicUserController.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ public class ClassicUserController : ControllerBase
2525

2626
// 缓存配置字段
2727
private readonly bool _useRedis;
28-
private readonly int _expirationMinutes;
29-
private readonly int _slidingExpiration;
28+
private readonly TimeSpan _absoluteExpiration;
29+
private readonly TimeSpan _slidingExpiration;
3030

3131
public ClassicUserController(
3232
AppDbContext context,
@@ -44,8 +44,10 @@ public ClassicUserController(
4444

4545
// 读取缓存配置
4646
_useRedis = configuration.GetValue<bool>("CacheSettings:UseRedis");
47-
_expirationMinutes = configuration.GetValue<int>("CacheSettings:ExpirationMinutes", 5);
48-
_slidingExpiration = configuration.GetValue<int>("CacheSettings:SlidingExpirationMinutes", 2);
47+
var absMinutes = configuration.GetValue<int>("CacheSettings:ExpirationMinutes", 5);
48+
var slideMinutes = configuration.GetValue<int>("CacheSettings:SlidingExpirationMinutes", 2);
49+
_absoluteExpiration = TimeSpan.FromMinutes(absMinutes);
50+
_slidingExpiration = TimeSpan.FromMinutes(slideMinutes);
4951

5052
// 如果启用了 Redis,尝试获取 IDistributedCache 服务
5153
if (_useRedis)
@@ -124,15 +126,15 @@ public async Task<IActionResult> GetProfile(string username)
124126
var jsonStr = JsonSerializer.Serialize(classicProfile);
125127
await _distributedCache.SetStringAsync(cacheKey, jsonStr, new DistributedCacheEntryOptions
126128
{
127-
AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(_expirationMinutes)
129+
AbsoluteExpirationRelativeToNow = _absoluteExpiration
128130
});
129131
}
130132
else
131133
{
132134
// Memory: 存储对象引用 (带 Size 限制)
133135
_memoryCache.Set(cacheKey, classicProfile, new MemoryCacheEntryOptions()
134-
.SetAbsoluteExpiration(TimeSpan.FromMinutes(_expirationMinutes))
135-
.SetSlidingExpiration(TimeSpan.FromMinutes(_slidingExpiration))
136+
.SetAbsoluteExpiration(_absoluteExpiration)
137+
.SetSlidingExpiration(_slidingExpiration)
136138
.SetSize(1));
137139
}
138140
}

0 commit comments

Comments
 (0)