OASystemCacheService.cs 1011 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using Microsoft.Extensions.Caching.Memory;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace Common.Cache
  8. {
  9. public class OASystemCacheService : ICacheService
  10. {
  11. private readonly IMemoryCache _memoryCache;
  12. public OASystemCacheService(IMemoryCache memoryCache)
  13. {
  14. _memoryCache = memoryCache;
  15. }
  16. public bool StringSet<T>(string key, T value, TimeSpan? expiry = null)
  17. {
  18. if (expiry == null)
  19. {
  20. _memoryCache.Set(key, value);
  21. }
  22. else
  23. {
  24. _memoryCache.Set(key, value, (TimeSpan)expiry);
  25. }
  26. return true;
  27. }
  28. public T StringGet<T>(string key)
  29. {
  30. T result = _memoryCache.Get<T>(key);
  31. return result;
  32. }
  33. public void DeleteKey(string key)
  34. {
  35. _memoryCache.Remove(key);
  36. }
  37. }
  38. }