[工具类]缓存辅助类
2023-09-14 09:01:01 时间
在项目中的统计模块中,查询耗费的时间,实在是太长了,通过优化sql语句或者添加缓存来提高查询的速度,自己就弄了一个缓存的辅助类,方便操作缓存中的数据。
CacheHelper1 using System; 2 using System.Collections; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 using System.Web; 8 using System.Web.Caching; 9 namespace WebSite.Statistics.Core.Utilities 11 /// summary 12 /// 缓存辅助类 13 /// /summary 14 public static class CacheHelper 16 /// summary 17 /// 根据键获取缓存数据 18 /// /summary 19 /// param name="cacheKey" /param 20 /// returns /returns 21 public static object GetCache(string cacheKey) 23 Cache objCache = HttpRuntime.Cache; 24 return objCache.Get(cacheKey); 26 /// summary 27 /// 设置缓存 28 /// /summary 29 /// param name="cacheKey" 缓存键 /param 30 /// param name="objValue" 缓存键 /param 31 public static void SetCache(string cacheKey, object objValue) 33 Cache cache = HttpRuntime.Cache; 34 cache.Insert(cacheKey, objValue); 36 /// summary 37 /// 设置缓存 38 /// /summary 39 /// param name="cacheKey" 缓存键 /param 40 /// param name="objValue" 缓存的值 /param 41 /// param name="timeout" 过期时间 /param 42 public static void SetCache(string cacheKey, object objValue, TimeSpan timeout) 44 Cache cache = HttpRuntime.Cache; 45 cache.Insert(cacheKey, objValue, null, DateTime.MaxValue, timeout, System.Web.Caching.CacheItemPriority.NotRemovable, null); 47 /// summary 48 /// 设置缓存 49 /// /summary 50 /// param name="cacheKey" 缓存键 /param 51 /// param name="objValue" 缓存的value /param 52 /// param name="absoluteExpiration" 绝对过期时间 /param 53 /// param name="slidingExpiration" 滑动过期时间 /param 54 public static void SetCache(string cacheKey, object objValue, DateTime absoluteExpiration, TimeSpan slidingExpiration) 56 Cache cache = HttpRuntime.Cache; 57 cache.Insert(cacheKey, objValue, null, absoluteExpiration, slidingExpiration); 59 /// summary 60 /// 移除指定的缓存 61 /// /summary 62 /// param name="cacheKey" /param 63 public static void RemoveCache(string cacheKey) 65 System.Web.Caching.Cache cache = HttpRuntime.Cache; 66 cache.Remove(cacheKey); 68 /// summary 69 /// 移除全部缓存 70 /// /summary 71 public static void RemoveAllCache() 73 System.Web.Caching.Cache cache = HttpRuntime.Cache; 74 IDictionaryEnumerator CacheEnum = cache.GetEnumerator(); 75 while (CacheEnum.MoveNext()) 77 cache.Remove(CacheEnum.Key.ToString()); 81 }
缓存用到的地方很多,封装的这个类,也算很基础的东西了,算是记录一下,以后用到的时候,方便查找。
博客版权: 本文以学习、研究和分享为主,欢迎转载,但必须在文章页面明显位置给出原文连接。
如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步!
再次感谢您耐心的读完本篇文章。http://www.cnblogs.com/wolf-sun/p/4469600.html
3.NetDh框架之缓存操作类和二次开发模式简单设计(附源码和示例代码) NetDh框架适用于C/S、B/S的服务端框架,可用于项目开发和学习。目前包含以下四个模块 1.数据库操作层封装Dapper,支持多种数据库类型、多库实例,简单强大; 此部分具体说明可参考博客: https://www.
读写锁:分为读锁和写锁,多个读锁不互斥,读锁与写锁互斥,写锁与写锁互斥,这是由JVM控制的,我们只需要上好相应的锁即可。如果代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁。总之,读的时候上读锁,写的时候上写锁。 import java.util.Random; import java.util.concu
相关文章
- DNS信息收集工具dig使用
- 用户工具类 缓存
- 抓取Dump文件的方法和工具介绍
- 选择并遮住工具(边缘调整工具)+剪切蒙版法,扣除头发丝
- Chrome开发者工具里的一个隐藏技能:chrome://net-internals
- PyTorch下的网络可视化方式和工具
- [转载]循规蹈矩:快速读懂SQL执行计划的套路与工具
- 【Android 逆向】Android 进程注入工具开发 ( EIP 寄存器指向 dlopen 函数 | ESP 寄存器指向栈内存 | 调试程序收回目标进程控制权 )
- redis缓存工具Jedis进行跨jvm加锁(分布式应用)--不幸暂弃用--能够做第三方锁使用
- 封装Win 10系统时封装工具报错,无法正常封装,封装失败
- 数据分析工具盘点、
- 【1000字保姆级教程】Fiddler工具 —— Fiddler介绍与安装
- powershell渗透工具——powercat工具详细分析
- 暴力破解常见服务以及工具
- 十六、Fiddler抓包工具详细教程 — 抓取移动端App请求