src/Template/API/Content/src/XXX.API/XXX.Plugin.Redis/Controller/RedisDemoController.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
namespace XXX.Plugin.Redis
{
/// <summary>
/// Redis 操作示例
/// </summary>
/// <remarks>redisjson: https://blog.alumdb.org/using-redisjson/
/// </remarks>
[ApiController]
[Route("[controller]")]
public class RedisDemoController : ControllerBase
{
private readonly ILogger<RedisDemoController> _logger;
private readonly IWebHelper _webHelper;
private readonly IRedisService _redisService;
public RedisDemoController(ILogger<RedisDemoController> logger,
IWebHelper webHelper
, IRedisService redisService)
{
_logger = logger;
_webHelper = webHelper;
_redisService = redisService;
}
/// <summary>
/// Redis插入
/// </summary>
/// <param name="key">redis key</param>
/// <param name="value">插入值</param>
/// <param name="timeSpan">过期时间</param>
/// <returns></returns>
[HttpPost("Set")]
[ProducesResponseType(200, Type = typeof(bool))]
public async Task<bool> SetAsync(string key = "one_key", string value = "one_value", TimeSpan? timeSpan = null)
{
//除了构造函数获取对象实例也可使用静态的EngineContext来获取对象容器中的指定容器(不鼓励使用,图便利可以使用)
var webHelper = EngineContext.Current.Resolve<IWebHelper>();
var ip = webHelper.GetCurrentIpAddress();
_logger.LogInformation($"通过EngineContext获取到IP={ip}");
// 也可通过构造函数获取对象(推荐)
//var ip = _webHelper.GetCurrentIpAddress();
var result = await _redisService.SetAsync(key, value, timeSpan);
return result;
}
/// <summary>
/// Redis通过key获取值
/// </summary>
/// <param name="key">redis key</param>
/// <returns></returns>
[HttpGet("Get")]
[ProducesResponseType(200, Type = typeof(string))]
public async Task<string> GetAsync(string key = "one_key")
{
var result = await _redisService.GetAsync(key);
return result;
}
/// <summary>
后面还有 42 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。