@@ -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