zoukankan      html  css  js  c++  java
  • 自己实现的一个 .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; }
        }
  • 相关阅读:
    mysql表的操作
    mysql 索引
    JQuery
    js
    cobbler一键批量安装系统
    rabbitmq-cluster搭建
    KVM嵌套虚拟化nested之CPU透传
    kvm虚拟机管理
    dlib(【机器学习库】含有多线程网络容器等基础功能】)
    ScriptCommunicator(各种通讯方式测试串口can网络等)
  • 原文地址:https://www.cnblogs.com/zhudongchang/p/3850090.html
Copyright © 2011-2022 走看看