mi-assessment/server/MiAssessment/src/MiAssessment.Core/Interfaces/IRedisService.cs
2026-02-03 14:25:01 +08:00

48 lines
1.1 KiB
C#

namespace MiAssessment.Core.Interfaces;
/// <summary>
/// Redis服务接口 - 提供更细粒度的Redis操作
/// </summary>
public interface IRedisService
{
/// <summary>
/// 获取字符串值
/// </summary>
Task<string?> GetStringAsync(string key);
/// <summary>
/// 设置字符串值
/// </summary>
Task SetStringAsync(string key, string value, TimeSpan? expiry = null);
/// <summary>
/// 删除键
/// </summary>
Task DeleteAsync(string key);
/// <summary>
/// 检查键是否存在
/// </summary>
Task<bool> ExistsAsync(string key);
/// <summary>
/// 设置键的过期时间
/// </summary>
Task<bool> ExpireAsync(string key, TimeSpan expiry);
/// <summary>
/// 获取键的剩余过期时间
/// </summary>
Task<TimeSpan?> GetTtlAsync(string key);
/// <summary>
/// 尝试获取分布式锁
/// </summary>
Task<bool> TryAcquireLockAsync(string key, string value, TimeSpan expiry);
/// <summary>
/// 释放分布式锁
/// </summary>
Task<bool> ReleaseLockAsync(string key, string value);
}