mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 17:23:26 +08:00
【优化】redis仓储增加有序集合功能,感谢会员陌小北优化。
This commit is contained in:
@@ -131,13 +131,55 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache
|
||||
Task ListClearAsync(string redisKey);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 有序集合/定时任务延迟队列用的多
|
||||
/// 有序集合/定时任务延迟队列用的多(直接传分钟)
|
||||
/// </summary>
|
||||
/// <param name="redisKey">key</param>
|
||||
/// <param name="redisValue">元素</param>
|
||||
/// <param name="score">分数</param>
|
||||
Task SortedSetAddAsync(string redisKey, string redisValue, double score);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 有序集合/定时任务延迟队列用的多(直接传时间)
|
||||
/// </summary>
|
||||
/// <param name="redisKey">key</param>
|
||||
/// <param name="redisValue">元素</param>
|
||||
/// <param name="dt">时间</param>
|
||||
Task SortedSetAddAsync(string redisKey, string redisValue, DateTime dt);
|
||||
|
||||
#region 会员陌小北(QQ:1078350533) 添加的 几个有序集合功能
|
||||
|
||||
/// <summary>
|
||||
/// 返回有序列表里的数据
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<string>> SortedSetRangeByRankAsync(string redisKey, int start, int stop);
|
||||
|
||||
/// <summary>
|
||||
/// 移出序列表里的指定范围数量
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
Task<long> SortedSetRemoveRangeByRankAsync(string redisKey, int start, int stop);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 返回有序列表里的指定范围数量
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
Task<long> SortedSetLengthAsync(string redisKey, int start, int stop);
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 有序集合/定时任务延迟队列用的多
|
||||
/// 有序集合/定时任务延迟队列用的多(直接传分钟)
|
||||
/// </summary>
|
||||
/// <param name="redisKey">key</param>
|
||||
/// <param name="redisValue">元素</param>
|
||||
@@ -239,5 +239,61 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache
|
||||
await _database.SortedSetAddAsync(redisKey, redisValue, score);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 有序集合/定时任务延迟队列用的多(直接传时间)
|
||||
/// </summary>
|
||||
/// <param name="redisKey">key</param>
|
||||
/// <param name="redisValue">元素</param>
|
||||
/// <param name="dt">时间</param>
|
||||
public async Task SortedSetAddAsync(string redisKey, string redisValue, DateTime dt)
|
||||
{
|
||||
var score = (dt.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
|
||||
await _database.SortedSetAddAsync(redisKey, redisValue, score);
|
||||
}
|
||||
|
||||
#region 会员陌小北(QQ:1078350533) 添加的 几个有序集合功能
|
||||
|
||||
/// <summary>
|
||||
/// 返回有序列表里的数据
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
public async Task<IEnumerable<string>> SortedSetRangeByRankAsync(string redisKey, int start, int stop)
|
||||
{
|
||||
var result = await _database.SortedSetRangeByRankAsync(redisKey, start, stop);
|
||||
|
||||
return result.Select(o => o.ToString());
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 移出序列表里的指定范围数量
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
public async Task<long> SortedSetRemoveRangeByRankAsync(string redisKey, int start, int stop)
|
||||
{
|
||||
return await _database.SortedSetRemoveRangeByRankAsync(redisKey, start, stop);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 返回有序列表里的指定范围数量
|
||||
/// </summary>
|
||||
/// <param name="redisKey">RedisKey</param>
|
||||
/// <param name="start">0 是第一个</param>
|
||||
/// <param name="stop">最大分数值</param>
|
||||
/// <returns></returns>
|
||||
public async Task<long> SortedSetLengthAsync(string redisKey, int start, int stop)
|
||||
{
|
||||
return await _database.SortedSetLengthAsync(redisKey, start, stop);
|
||||
|
||||
}
|
||||
|
||||
#endregion 会员陌小北(QQ:1078350533) 添加的 几个有序集合功能
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user