src/sample/XXX.Plugin.FreeRedis/Service/RedisService.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using FreeRedis;
namespace XXX.Plugin.FreeRedis
{
public interface IRedisService
{
int DistributeLock(string lockKey, int timeoutSeconds = 30, bool autoDelay = false);
string Get(string key = "one_key");
long Publish(string channel, string message);
bool Set(string key, string value, TimeSpan timeSpan);
}
public class RedisService : IRedisService
{
private readonly ILogger<RedisService> _logger;
private readonly RedisClient _redisClient;
private static int _tempInt = 0;
/// <summary>
///
/// </summary>
/// <param name="logger"></param>
/// <param name="redisIdleBus"></param>
public RedisService(ILogger<RedisService> logger, IdleBus<RedisClient> redisIdleBus)
{
_logger = logger;
// FreeRedis原生对象,以最原生方式调用,支持操作多个redis库;_redisIdleBus.Get("别名")
_redisClient = redisIdleBus.Get("2");
}
/// <summary>
/// Redis插入
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="timeSpan"></param>
/// <returns></returns>
public bool Set(string key, string value, TimeSpan timeSpan)
{
//remark:
//一秒后过期
TimeSpan.FromSeconds(1);
//一小时后过期
TimeSpan.FromHours(1);
_redisClient.Set(key, value, timeSpan);
//var succeed = await _redisManager.SetAsync(key, value, timeSpan,"2");
//var succeed1 = await _redisManager.SetAsync(key, value, timeSpan,"1");
_logger.LogInformation("redis 插入成功 ");
return true;
}
/// <summary>
/// 通过key或者Redis值
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public string Get(string key)
{
后面还有 38 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。