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. C#中的基本类型理解

    1.C#把所有基本类型都封装成自己的类型了,如下图,int被封装成了一个struct结构体.如果定义一个int对象,是可以调用int结构体里的函数的 2.和C\C++不同,C#的char就是单纯的代表 ...

  2. xshell的Solarized Dark配色方案

    之前在ubuntu, kali, mint, air下都使用这一款配色方案,后来在网上看到有人在xshell中使用,配色方案有分享,就是一起无法导入 原来这个东西在你现有的连接无法直接导入,需要重新打 ...

  3. Eclipse中离线安装ADT插件详细教程

    在搭建Android开发环境的时候,我们需要为Eclipse安装ADT(Android Development Tools)插件,这个插件可以为用户提供一个强大的Android集成开发环境.通过给Ec ...

  4. Spyder clear variable explorer from memory

    https://stackoverflow.com/questions/45853595/spyder-clear-variable-explorer-along-with-variables-fro ...

  5. HDU 1358 Period(KMP+最小循环节)题解

    思路: 这里只要注意一点,就是失配值和前后缀匹配值的区别,不懂的可以看看这里,这题因为对子串也要判定,所以用前后缀匹配值,其他的按照最小循环节做 代码: #include<iostream> ...

  6. JVM堆内存调优

    堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...

  7. Sql 最简单的Sqlserver连接

    string name = txtUserName.Text.Trim();//移除用户名前部和后部的空格 string pwd = txtUserPwd.Text.Trim();//移除密码前部和后 ...

  8. BZOJ 1005: [HNOI2008]明明的烦恼(prufer数列)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1005 题意: Description 自从明明学了树的结构,就对奇怪的树产生了兴趣......给出标 ...

  9. HDU 2460 Network(桥+LCA)

    http://acm.hdu.edu.cn/showproblem.php?pid=2460 题意:给出图,求每次增加一条边后图中桥的数量. 思路: 先用tarjan算法找出图中所有的桥,如果lowv ...

  10. ros python 重置位置

    #!/usr/bin/env python import rospy import math import sys import commands import yaml from tf import ...