System.Web.Caching简单封装类:

 using System;
using System.Collections.Generic;
using System.Web.Caching;
using System.Web;
using System.Collections; namespace APP.HttpCache
{
public class CacheHelper
{
private static Cache cacheObj = HttpRuntime.Cache; /// <summary>
/// 简单key,vlaue写入
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Insert(string key, object value)
{
cacheObj.Insert(key, value);
} /// <summary>
/// 设置绝对过期时间
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="absoluteExpiration"></param>
/// <param name="slidingExpiration"></param>
public static void Insert(string key, object value, DateTime absoluteExpiration)
{
cacheObj.Insert(key, value, null, absoluteExpiration, Cache.NoSlidingExpiration);
} /// <summary>
/// 设置平滑过期
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="slidingExpiration"></param>
public static void Insert(string key, object value, TimeSpan slidingExpiration)
{
cacheObj.Insert(key, value, null, Cache.NoAbsoluteExpiration, slidingExpiration);
} /// <summary>
/// 得到vlaue
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static object Get(string key)
{
return cacheObj.Get(key);
} /// <summary>
/// 得到vlaue
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static T Get<T>(string key)
{
var v = cacheObj.Get(key);
return v == null ? default(T) : (T)Convert.ChangeType(v, typeof(T));
} /// <summary>
/// 移除key
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static void Delete(string key)
{
cacheObj.Remove(key);
} /// <summary>
/// 移除key
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static object Remove(string key)
{
return cacheObj.Remove(key);
} /// <summary>
/// 移除key
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static T Remove<T>(string key)
{
var v = cacheObj.Remove(key);
return v == null ? default(T) : (T)Convert.ChangeType(v, typeof(T));
} /// <summary>
/// 缓存key数量
/// </summary>
public static int KeyCount
{
get
{
return cacheObj.Count;
}
} /// <summary>
/// 所有key
/// </summary>
public static ArrayList KeyAll()
{
var arr = new ArrayList();
var item = cacheObj.GetEnumerator();
while (item.MoveNext())
{
arr.Add(item.Key);
}
return arr;
} /// <summary>
/// 清空所有缓存
/// </summary>
public static void DeleteAll()
{
var item = cacheObj.GetEnumerator();
while (item.MoveNext())
{
cacheObj.Remove(item.Key.ToString());
}
}
}
}

System.Web.Caching的更多相关文章

  1. System.Web.Caching.Cache类 缓存

    1.文件缓存依赖 public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender ...

  2. System.Web.Caching.Cache类 缓存 各种缓存依赖

    原文:System.Web.Caching.Cache类 缓存 各种缓存依赖 Cache类,是一个用于缓存常用信息的类.HttpRuntime.Cache以及HttpContext.Current.C ...

  3. System.Web.Caching.Cache 方法汇总

    在做后台的时候,想着把所有栏目放到缓存里,就这里了一个类.必然是有缺陷,暂时没有实现滑动缓存 using System; using System.Collections; using System. ...

  4. 清除 System.Web.Caching.Cache 以"xxx"开头的缓存

    public static void ClearStartCache(string keyStart) { List<string> cacheKeys = new List<str ...

  5. 第一节:从程序集的角度分析System.Web.Caching.Cache ,并完成基本封装。

    一. 揭开迷雾 1. 程序集准备 a.  需要给项目添加 System.Web 程序集. b.  需要给使用的地方添加两个引用. 2. 程序集探究      在对应的类中输入关键字 Cache,选中点 ...

  6. 深入System.Web.Caching命名空间 教你Hold住缓存管理

    一,System .Web.Caching与缓存工作机制简介 System.Web.Caching是用来管理缓存的命名空间,其父级空间是System.Web,由此可见,缓存通常用于Web网站的开发,包 ...

  7. System.Web.Caching.Cache类 缓存 各种缓存依赖(转)

    转自:http://www.cnblogs.com/kissdodog/archive/2013/05/07/3064895.html Cache类,是一个用于缓存常用信息的类.HttpRuntime ...

  8. System.Web.Caching.Cache类 Asp.Net缓存 各种缓存依赖

    Cache类,是一个用于缓存常用信息的类.HttpRuntime.Cache以及HttpContext.Current.Cache都是该类的实例. 一.属性 属性 说明 Count 获取存储在缓存中的 ...

  9. Cache管理机制(System.Web.Caching)

    一,System .Web.Caching与缓存工作机制简介 System.Web.Caching是用来管理缓存的命名空间,其父级空间是System.Web,由此可见,缓存通常用于Web网站的开发,包 ...

随机推荐

  1. Package libvirt was not found in the pkg-config search path

    关于pip安装libvirt-python的时候提示Package libvirt was not found in the pkg-config search path的问题解决方法 1.一开始以为 ...

  2. Python3基础 break while循环示例

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  3. C#中dll附加配置文件

    DLL-with-configuration-file带配置文件的dll http://www.codeproject.com/Tips/199441/DLL-with-configuration-f ...

  4. Java-master(github)教材整理

    helloworld class HelloWorld { public static void main(String[] args) { System.out.println("hell ...

  5. ftp协议及vsftpd的基本应用

    1.ftp协议及vsftpd的基本应用 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系 ...

  6. 08_Flume_Selector实践

    实践一:replicating selector 1.目标场景 selector将event复制,分发给所有下游节点 2.Flume Agent配置 Agent配置 # Name the compon ...

  7. BZOJ 2669 【CQOI2012】 局部极小值

    题目链接:局部极小值 这是一道\(dp\)好题. 由于需要保证某些位置比周围都要小,那么我们可以从小到大把每个数依次填入,保证每个局部极小值填入之前周围都不能填,就只需要在加入的时候计数了. 由于局部 ...

  8. Jmeter Connect to Cassandra

    https://github.com/Netflix/CassJMeter/wiki https://stackoverflow.com/questions/40974407/connecting-c ...

  9. 趣味工具figlet

    sudo apt-get install figlet $ echo "Hello" | figlet _ _ _ _ | | | | ___| | | ___ | |_| |/ ...

  10. 一个十分好用的动画工具:Velocity.js

    就像许多开发者确信的那样,在Web上使用CSS实现动画并不是唯一的方式,我们也可以使用JS来实现,并且JS还有一些CSS无法替代的优势. 然而抛开JS而选择CSS来实现动画,将以样式表内容膨胀,丧失对 ...