zoukankan      html  css  js  c++  java
  • C#数据缓存介绍及Caching通用帮助类整理

    C#缓存主要是为了提高数据的读取速度。由于server和应用client之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为client服务,能够降低client与server端的数据交互。从而大大提高程序的性能。

    下面为工作中经经常使用到的缓存操作公用类库整理:

    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Caching;
    using System.Web.Hosting;
    namespace ECS.Utility
    {
        /// <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;
            }
    
    
        }
    }


  • 相关阅读:
    groovy集合
    groovy函数、字符串、循环
    groovy运行程序和类型推断
    常见IT英语短语一
    常见IT英语单词
    认识Groovy
    maven入门
    springboot之内嵌tomcat修改端口号
    springboot手动配置数据源:
    img与父元素的间隙解决
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6919029.html
Copyright © 2011-2022 走看看