1、优化消息排序逻辑 2、新增加载历史消息 3、修复已知问题 后端: 1、优化消息排序逻辑 2、增加用户信息缓存机制 3、修改日期类型为DateTimeOffset改善时区信息丢失问题 3、修复了已知问题 数据库: 1、新增SequenceId字段用于消息排序 2、新增ClientMsgId字段用于客户端消息回执
50 lines
1.6 KiB
C#
50 lines
1.6 KiB
C#
using IM_API.Models;
|
|
|
|
namespace IM_API.Interface.Services
|
|
{
|
|
public interface ICacheService
|
|
{
|
|
/// <summary>
|
|
/// 设置缓存
|
|
/// </summary>
|
|
/// <typeparam name="T">缓存对象类型</typeparam>
|
|
/// <param name="key">缓存索引值</param>
|
|
/// <param name="value">要缓存的对象</param>
|
|
/// <param name="expiration">过期时间</param>
|
|
/// <returns></returns>
|
|
Task SetAsync<T>(string key, T value, TimeSpan? expiration = null);
|
|
/// <summary>
|
|
/// 获取缓存
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="key">缓存索引</param>
|
|
/// <returns></returns>
|
|
Task<T?> GetAsync<T>(string key);
|
|
/// <summary>
|
|
/// 删除缓存
|
|
/// </summary>
|
|
/// <param name="key">缓存索引</param>
|
|
/// <returns></returns>
|
|
Task RemoveAsync(string key);
|
|
/// <summary>
|
|
/// 设置用户缓存
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
/// <returns></returns>
|
|
Task SetUserCacheAsync(User user);
|
|
/// <summary>
|
|
/// 通过用户名获取用户缓存
|
|
/// </summary>
|
|
/// <param name="username"></param>
|
|
/// <returns></returns>
|
|
Task<User?> GetUserCacheAsync(string username);
|
|
/// <summary>
|
|
/// 删除用户缓存
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="username"></param>
|
|
/// <returns></returns>
|
|
Task RemoveUserCacheAsync(string username);
|
|
}
|
|
}
|