自己实现的一个 .net 缓存类(原创)

    public class CacheContainer
    {
        private static Hashtable ht = new Hashtable();

        /// <summary>
        /// objId :缓存id,objObject:缓存对象,expires:绝对过期时间
        /// </summary>
        /// <param name="objId"></param>
        /// <param name="objObject"></param>
        /// <param name="expires"></param>
        public void AddObject(string objId, object objObject, DateTime expires)
        {
            ContainerItem item = new ContainerItem() { Expires = expires, ObjObject = objObject };
            ht[objId] = item;
        }

        /// <summary>
        /// 默认缓存20分钟
        /// </summary>
        /// <param name="objId"></param>
        /// <param name="objObject"></param>
        public void AddObject(string objId, object objObject)
        {
            AddObject(objId, objObject, DateTime.Now.AddMinutes(20));
        }

        public object GetCacheObj(string objId)
        {
            object result = null;
            if (ht.Contains(objId))
            {
                var item = (ContainerItem)ht[objId];
                if (DateTime.Now<item.Expires)
                {
                    result =item.ObjObject;
                }
                else
                {
                    ht.Remove(objId);
                }
            }
            return result;
        }

        /// <summary>
        /// objId存在则删除,否则不处理
        /// </summary>
        /// <param name="objId"></param>
        public void RemoveObject(string objId)
        {
            if (ht.Contains(objId))
            {
                ht.Remove(objId);
            }
        }
    }

    public class ContainerItem
    {
        public object ObjObject { get; set; }
        public DateTime Expires { get; set; }
    }

自己实现的一个 .net 缓存类(原创)

时间: 2024-10-19 07:07:44

自己实现的一个 .net 缓存类(原创)的相关文章

比较全面的一个PHP缓存类解析

转自:http://www.blhere.com/1164.html 一.引论 PHP,一门最近几年兴起的web设计脚本语言,由于它的强大和可伸缩性,近几年来得到长足的发展,php相比传统的asp网站,在速度上有绝对的优势,想mssql转6万条数据php如需要40秒,asp不下2分钟.但是,由于网站的数据越来越多,我们渴求能更快速的调用数据,不必要每次都从数据库掉,我们可以从其他的地方,比方一个文件,或者某个内存地址,这就是php的缓存技术,也就是Cache技术. 二.分析深入 一般来说,缓存的

php简单数据缓存类

公司手机触屏站 ,由于页面图片太多,所以需要做数据缓存,就随便写一个数据缓存类. 直接贴代码 <?php/**** [email protected]* 缓存类* 把数据查询出,并序列化写入文件**/class Cache{ function __construct($config){ //定义是否开启缓存 $this->is_cache=$config['is_cache']; //定义缓存目录 $this->cache_file=$config['cache_file']; //定义

一个不错的PHP文件页面缓存类

在php中缓存分类数据库缓存,文件缓存和内存缓存,下面我来给各位同学详细介绍PHP文件缓存类实现代码,有需要了解的朋友可参考. 页面缓存类  代码如下 复制代码 <?php    /*    * 缓存类    cache   * 作    者:多菜鸟   * 实    例:   */   /*include( "cache.php" );       $cache = new cache(30);   $cache->cacheCheck();       echo dat

转 一个弱引用缓存类

在优化性能时,经常会使用到缓存类..NET Framework在System.Web.dll中,提供了一个Cache类.它在Web开发中非常有用,但是如果是WinForm开发,它就用不上了.  在.NET中,由于垃圾回收机制的存在,使得开发人员不用关心内存的分配.不用的对象GC会自动当成垃圾回收.如果能将这些垃圾废品利用的话,很容易节约开销,提升性能.下面提供一个WeakReferenceCachePool<TKey, TItem>类: using System;using System.Co

006 [翻译] Haneke(一个Swfit iOS缓存类)

Github项目地址:https://github.com/Haneke/HanekeSwift Haneke是一个用swift写成的轻量级iOS类,以简单好用著称(design-decisions-behind-haneke-1-0),有多简单呢? 假如你要初始化一个JSON缓存,将目标从URL获取: let cache = Cache<JSON>(name: "github") let URL = NSURL(string: "https://api.gith

第十一篇 自定义一个缓存类(甚用~)

1 //自定义缓存类 2 public class CacheHelper<T> where T:class 3 { 4 private class Entity 5 { 6 public T Value{get;set;} 7 public DateTime Expiretime { get; set; } 8 } 9 private static readonly Dictionary<string, Entity> Dic=new Dictionary<string,E

iOS缓存类的设计

使用执行速度缓存的程序可以大大提高程序,设计一个简单的缓存类并不需要太复杂的逻辑. 只需要一个简单的3接口. 存款对象 以一个对象 删除对象 阅读对象 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdXh5aGVhdmVu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 读取对象的时候先读内存 内存没有就读文件 保存对象 保存对象的时候前台

Java缓存类的实际应用场景

不要着迷于技术,应把注意力放到问题上. 一个普通的后台管理系统,一定会有参数配置.参数配置数据表和其他的数据表是不同的,它的操作基本都是查的操作.参数配置的这些数据信息是贯穿在整个项目中,那么把他们放到哪里可以方便类或者jsp的调用? spring的配置文件有支持缓存类,它的配置如下: <!-- 启用用户的缓存功能 --> <bean id="userCache" class="org.springframework.security.core.userde

【cocos2d-x游戏开发】cocos中的三种缓存类

Cocos中有三种缓存类: (1):纹理缓存:TextureCache (2):精灵帧缓存:SpriteFrameCache (3):动画缓存:AnimationCache 游戏最要重要的就是流畅度,如果我们的游戏经常因为加载资源出现卡顿的情况,那么这个游戏就没有很好地游戏体验.所以,为了解决这个问题,缓存就应运而生了. 缓存的目的就是:现将所需资源加载到内存中,之后再次使用该资源的时候,就可以直接从内存中读出,而不需要重新加载,从而减少了CPU和GPU的内存占用. TextureCache 在