`

C# 缓存

    博客分类:
  • C#
阅读更多
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Caching;
using System.Web.Hosting;
/// <summary>
/// Caching 的摘要说明
/// </summary>
public class Caching
{

    /// <summary>
    /// 获取当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <returns></returns>y
    public static object GetCache(string CacheKey)
    {
        System.Web.Caching.Cache objCache = HttpRuntime.Cache;
        return objCache[CacheKey];
    }

    /// <summary>
    /// 设置当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <param name="objObject"></param>
    public static void SetCache(string CacheKey, object objObject)
    {
        System.Web.Caching.Cache objCache = HttpRuntime.Cache;
        objCache.Insert(CacheKey, objObject);
    }


    /// <summary>
    /// 设置当前应用程序指定CacheKey的Cache值
    /// </summary>
    /// <param name="CacheKey"></param>
    /// <param name="objObject"></param>
    public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
    {
        System.Web.Caching.Cache objCache = HttpRuntime.Cache;
       
        objCache.Insert(CacheKey, objObject, null, absoluteExpiration, slidingExpiration);
    }

    /// <summary>
    /// 清除单一键缓存
    /// </summary>
    /// <param name="key"></param>
    public static void RemoveKeyCache(string CacheKey)
    {
        try
        {
            System.Web.Caching.Cache objCache = HttpRuntime.Cache;
            objCache.Remove(CacheKey);
        }
        catch { }
    }

    /// <summary>
    /// 清除所有缓存
    /// </summary>
    public static void RemoveAllCache()
    {
        System.Web.Caching.Cache _cache = HttpRuntime.Cache;
        IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
        if (_cache.Count > 0)
        {
            ArrayList al = new ArrayList();
            while (CacheEnum.MoveNext())
            {
                al.Add(CacheEnum.Key);
            }
            foreach (string key in al)
            {
                _cache.Remove(key);
            }
        }
    }

    /// <summary>
    /// 以列表形式返回已存在的所有缓存 
    /// </summary>
    /// <returns></returns> 
    public static ArrayList ShowAllCache()
    {
        ArrayList al = new ArrayList();
        System.Web.Caching.Cache _cache = HttpRuntime.Cache;
        if (_cache.Count > 0)
        {
            IDictionaryEnumerator CacheEnum = _cache.GetEnumerator();
            while (CacheEnum.MoveNext())
            {
                al.Add(CacheEnum.Key);
            }
        }
        return al;
    }


}

absoluteExpiration
类型:System.DateTime
所添加对象将过期并被从缓存中移除的时间。如果使用可调过期,则 absoluteExpiration 参数必须为 NoAbsoluteExpiration。

slidingExpiration
类型:System.TimeSpan
最后一次访问所添加对象时与该对象过期时之间的时间间隔。如果该值等效于 20 分钟,则对象在最后一次被访问 20 分钟之后将过期并从缓存中移除。如果使用绝对过期,则 slidingExpiration 参数必须为 NoSlidingExpiration。


分享到:
评论

相关推荐

    c#缓存机制,提供缓存功能

    C# 缓存机制是.NET框架中一个非常重要的性能优化工具,它允许应用程序存储经常访问的数据,以便在后续请求时快速检索,而无需重新计算或从远程源获取数据。这大大提高了应用程序的响应速度和效率,降低了服务器负载...

    C#缓存的使用

    在C#编程中,缓存是一种非常重要的技术,它能够提高应用...以上代码展示了C#缓存的基础使用,实际项目中可能需要结合具体业务需求进行更复杂的设计和配置。正确理解和使用缓存,能够有效提升系统性能,降低资源消耗。

    c#缓存介绍.doc

    C# 缓存是提升应用程序性能的关键技术,尤其是在Web开发中。系统提供的缓存机制能够减少服务器与客户端之间的数据交互,提高数据读取速度,从而缓解网络带宽带来的瓶颈问题。C# 中的缓存主要涉及到`System.Web....

    C#缓存线程模板

    本主题聚焦于"C#缓存线程模板",这是一种专为缓存操作设计的线程基础类,旨在简化在C#项目中的复用。 首先,我们来看一下"CommonEventThread.txt",这可能是一个实现事件驱动的线程类。在多线程编程中,事件驱动...

    C#缓存通用类

    C#缓存通用类

    C#缓存实例代码

    根据提供的C#缓存实例代码,我们可以总结出以下几个重要的知识点: ### 1. C#中的缓存机制 在C#中,ASP.NET 提供了一种内置的缓存机制,允许开发者存储临时数据以提高应用程序的性能。缓存是用于存储经常访问的...

    c#缓存使用工具,也已使用Redis和MemoryCache

    还在测试,这几天完善一下

    C# 缓存构造类

    C# 缓存构造类:缓存因子,清空所有缓存项目,重新设置缓存因子,删除缓存,增加缓存项目,增加缓存项目等等方法,using System.Web.Caching

    c# 缓存实例

    C#,作为微软开发的面向对象的编程语言,提供了丰富的缓存支持。本篇文章将详细探讨C#中的缓存机制及其应用实例。 首先,我们要理解缓存的基本概念。缓存,简单来说,就是一个临时存储数据的地方,它位于主内存和...

    C#缓存工具类【待完善-----可以参考一下】

    "C#缓存工具类"是实现这一目标的一种常见方式,通过封装缓存操作,我们可以使代码更整洁,复用性更强。下面将详细讨论C#中的缓存概念、常用缓存策略以及如何创建自定义的缓存工具类。 首先,C#内置了一些缓存支持,...

    CacheManager-C#缓存抽象层

    CacheManager-C#缓存抽象层

    C# 系统缓存全解析

    【C# 系统缓存全解析】 系统缓存是一种优化技术,用于提高应用程序的性能,减少对资源的不必要消耗。在C# .NET环境中,缓存是至关重要的,尤其是在处理大量数据或频繁数据库查询时。缓存分为客户端缓存和服务器端...

    c# 完整本地缓存类

    WriteCache方法: 用Dictionary, Dictionary, byte[]&gt;替代Cache类 数据库名+表名 为缓存KEY SQL语句为缓存键值的key 查询结果序列化为缓存键值的Values 序列化后加密保存在本地供调用 ReadCache方法:解密后反序列...

    webapi接口缓存组件

    WebAPI接口缓存组件是一种优化WebAPI服务性能的技术,它通过存储先前请求的响应结果,减少不必要的数据库查询或计算,从而提高系统响应速度。本文将详细介绍这个自定义的WebAPI接口缓存组件的设计原理、实现方式及其...

    C#操作redis缓存

    总结来说,这个项目展示了如何在ASP.NET环境中,利用C#通过StackExchange.Redis库操作Redis,同时结合HttpRuntimeCache进行缓存抽象,以提高代码的可维护性和灵活性。通过对"ICache.cs"接口的实现,我们可以自定义...

    C#使用memCached实现缓存

    C#使用memCached实现缓存 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。...

    C#编写的缩略图的缓存

    "C#编写的缩略图的缓存"这个主题涉及到如何利用C#来生成缩略图,并将其存储在本地文件系统中,以提高应用程序的性能和用户体验。 首先,让我们了解什么是缩略图。缩略图是原始图像的较小版本,通常用于预览或快速...

    C#编程中关于数据缓存的经验总结

    ### C#编程中关于数据缓存的经验总结 #### 一、引言 在现代软件开发过程中,特别是Web应用开发中,提升程序性能是一项至关重要的任务。数据缓存作为一种提高应用程序性能的有效手段,已经被广泛应用于各种场景之中...

    Redis、C#、缓存、分布式Demo

    Redis、C#、缓存、分布式Demo。 Demo包含Redis的键值字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型的存储获取案例

Global site tag (gtag.js) - Google Analytics