缓存技术,封装好的缓存类
来源:互联网 发布:白葡萄酒淘宝 编辑:程序博客网 时间:2024/04/30 11:36
using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace Admin.Helper{ /// <summary> /// .net 本身自带的cache相关方法 /// </summary> public static class CacheHelper { /// <summary> /// fileds /// </summary> private static System.Web.Caching.Cache ObjCache = System.Web.HttpRuntime.Cache; #region Exist方法 /// <summary> /// 判断指定Key的缓存是否存在 /// </summary> /// <param name="Key"></param> /// <returns></returns> public static bool Exist(string Key) { if (ObjCache[Key] == null) { return false; } return true; } #endregion #region Get方法 /// <summary> /// 获得指定Key的缓存对象 /// </summary> /// <param name="Key"></param> /// <returns></returns> public static Object Get(string Key) { object objkey = null; if (ObjCache[Key] != null) { objkey = ObjCache.Get(Key); } return objkey; } #endregion #region Set方法 /// <summary> /// 设置缓存 /// </summary> /// <param name="Key">Cache Key</param> /// <param name="expiry">缓存时间</param> /// <param name="obj">缓存对象</param> public static void Set(string Key, DateTime expiry, object obj) { if (ObjCache[Key] != null) { ObjCache.Remove(Key); } ObjCache.Insert(Key, obj, null, expiry, TimeSpan.Zero); } /// <summary> /// 设置缓存 /// </summary> /// <param name="Key">Cache Key</param> /// <param name="min">缓存时间【分钟】</param> /// <param name="obj">缓存对象</param> public static void Set(string Key, int min, object obj) { double douNum = double.Parse(min.ToString()); Set(Key, DateTime.Now.AddMinutes(douNum), obj); } #endregion #region Del方法 /// <summary> /// 删除指定Key的缓存 /// </summary> /// <param name="Key"></param> public static void Del(string Key) { if (ObjCache[Key] != null) { ObjCache.Remove(Key); } } #endregion #region 其他 /// <summary> /// 获取缓存中的项数 /// </summary> public static int Count { get { return ObjCache.Count; } } /// <summary> /// 获取可用于缓存的千字节数 /// </summary> public static long PrivateBytes { get { return ObjCache.EffectivePrivateBytesLimit; } } #endregion }}
<pre code_snippet_id="155522" snippet_file_name="blog_20140114_2_3856905" name="code" class="csharp"> 使用方法如下:/// <summary> /// 获取产品详情 /// </summary> /// <param name="proId"></param> /// <returns></returns> public static ProductDto GetProduct(string proId) { var key = "_ProductId" + proId; //通过key找到缓存的对象 var cache = Helper.CacheHelper.Get(key); if (cache != null) { return (ProductDto)cache; } var pro = ServiceLocator.Create<IProductService>().Get(proId); if (pro == null) return new ProductDto(); Helper.CacheHelper.Set(key, DateTime.Now.AddHours(8), pro); return pro; }
1 0
- 缓存技术,封装好的缓存类
- 封装好的缓存类
- 关于封装类的缓存
- 缓存工具类封装
- 内存缓存封装类
- 自定义简单的封装SharedPreferences缓存类
- 封装缓存
- 缓存命中率高的缓存是好缓存
- hibernate的缓存技术
- ASP的缓存技术
- ArcGIS的缓存技术
- ArcGIS的缓存技术
- 缓存技术的总结
- 常用的缓存技术
- hibernate的缓存技术
- java的缓存技术
- springboot的缓存技术
- geoserver 的缓存技术
- jquery和JSON结合
- java23设计模式思想
- HDU 2544 最短路 (SSSP & O(V^2)的Dijkstra算法)
- OSTaskCreateExt分析
- 抽象类和接口
- 缓存技术,封装好的缓存类
- linux网络协议栈(六)传输层 (3)UDP协议 3)报文发送 send/sendto/sendmsg
- 信息系统项目管理师
- 那些年我们清除过的哪个浮动
- mysql之sync_binlog和innodb_flush_log_at_trx_commit参数浅析
- 注入 -- AndroidAnnotations学习笔记二
- 颠覆典当旧秩序?由绝当品电商入手,“淘当铺”进军互联网金融
- 苹果创始人体验大中中塔电器广场
- 将系统时间插入数据库的datetime类型