RedisController.cs 904 B

123456789101112131415161718192021222324252627282930313233343536
  1. using Microsoft.AspNetCore.Mvc;
  2. using StackExchange.Redis;
  3. using System.Collections.Generic;
  4. using System.Threading.Tasks;
  5. [ApiController]
  6. [Route("api/[controller]")]
  7. public class RedisController : ControllerBase
  8. {
  9. private readonly IConnectionMultiplexer _redis;
  10. public RedisController(IConnectionMultiplexer redis)
  11. {
  12. _redis = redis;
  13. }
  14. [HttpGet("{key}")]
  15. public async Task<ActionResult<string>> Get(string key)
  16. {
  17. var db = _redis.GetDatabase();
  18. var value = await db.StringGetAsync(key);
  19. if (value.IsNullOrEmpty)
  20. {
  21. return NotFound();
  22. }
  23. return Ok(value.ToString());
  24. }
  25. [HttpPost]
  26. public async Task<IActionResult> Post([FromBody] KeyValuePair<string, string> data)
  27. {
  28. var db = _redis.GetDatabase();
  29. await db.StringSetAsync(data.Key, data.Value);
  30. return Ok();
  31. }
  32. }