src/sample/XXX.Plugin.Redis/Service/RedisService.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using CSRedis;
using NetPro.CsRedis;
using System.Diagnostics;
namespace XXX.Plugin.Redis
{
public interface IRedisService
{
int DistributeLock(string lockKey, int timeoutSeconds = 30, bool autoDelay = false);
Task<string> GetAsync(string key = "one_key");
Task<long> PublishAsync(string channel, string message);
Task<bool> SetAsync(string key = "one_key", string value = "one_value",string dbKey=null, TimeSpan? timeSpan = null);
void ExecutePython(string cmd, string args);
}
public class RedisService : IRedisService
{
private readonly ILogger<RedisService> _logger;
private readonly IRedisManager _redisManager;//NetPro封装过的对象接口,提供更丰富功能,本地缓存等
private readonly IdleBus<CSRedisClient> _redisClient;//CSRedis原生对象,以最原生方式调用,支持操作多个redis库;_redisClient.Get("别名")必须先取出别名对应的redis实例对象进行奥操作
private static int tempInt = 0;
/// <summary>
///
/// </summary>
/// <param name="logger"></param>
/// <param name="redisManager"></param>
/// <param name="redisClient"></param>
public RedisService(ILogger<RedisService> logger
, IRedisManager redisManager
, IdleBus<CSRedisClient> redisClient)
{
_logger = logger;
_redisManager = redisManager;
_redisClient = redisClient;
}
/// <summary>
/// Redis插入
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="timeSpan"></param>
/// <returns></returns>
public async Task<bool> SetAsync(string key = "one_key", string value = "one_value",string dbKey=null, TimeSpan? timeSpan = null)
{
//remark:
//一秒后过期
TimeSpan.FromSeconds(1);
//一小时后过期
TimeSpan.FromHours(1);
//获取依赖注入的对象方式一:通过静态EngineContext对象引擎获取对象实例
//var redisManager = EngineContext.Current.Resolve<IRedisManager>();
//获取依赖注入的对象方式二:通过构造函数注入获取对象实例
var succeed = await _redisManager.SetAsync(key, value, timeSpan, dbKey);
//var succeed = await _redisManager.SetAsync(key, value, timeSpan,"2");
//var succeed1 = await _redisManager.SetAsync(key, value, timeSpan,"1");
后面还有 121 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。