mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2026-03-22 20:37:21 +08:00
【优化】redis仓储增加有序集合功能,感谢会员陌小北优化。
This commit is contained in:
@@ -131,13 +131,55 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache
|
|||||||
Task ListClearAsync(string redisKey);
|
Task ListClearAsync(string redisKey);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 有序集合/定时任务延迟队列用的多
|
/// 有序集合/定时任务延迟队列用的多(直接传分钟)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="redisKey">key</param>
|
/// <param name="redisKey">key</param>
|
||||||
/// <param name="redisValue">元素</param>
|
/// <param name="redisValue">元素</param>
|
||||||
/// <param name="score">分数</param>
|
/// <param name="score">分数</param>
|
||||||
Task SortedSetAddAsync(string redisKey, string redisValue, double score);
|
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>
|
||||||
/// 有序集合/定时任务延迟队列用的多
|
/// 有序集合/定时任务延迟队列用的多(直接传分钟)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="redisKey">key</param>
|
/// <param name="redisKey">key</param>
|
||||||
/// <param name="redisValue">元素</param>
|
/// <param name="redisValue">元素</param>
|
||||||
@@ -239,5 +239,61 @@ namespace CoreCms.Net.Caching.AutoMate.RedisCache
|
|||||||
await _database.SortedSetAddAsync(redisKey, redisValue, score);
|
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