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 算力,解读结果公开显示在下面。

还没有人解读过这个文件。