public class DataCache
{
/// <summary>
/// 获取当前应用程序指定CacheKey的Cache值
/// </summary>
/// <param name="CacheKey"></param>
/// <returns></returns>
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);
}
}//刚找到了个Cache的类,
我的理解,使用Cache,比如有 class A 我 new 以后把它使用Cache 设置了KEY  ,
  就会在内存里,然后根据 KEY 到内存中找回相应的Cache 但里这个类里,写了两个方法,一个是GetCache一个是SetCache,使用一开始肯定会使用SetCache的先设调Cache。
比如 
A mya = new A();
SetCache("CacheA",mya)
//问题就是,那我的程序跑起来,我岂不是也要每次都NEW 然后再放进Cache里?这样有什么意义?怎样实现 先检查有没Cache 如果没有NEW 一个放进去,有的话直接取。。
 

解决方案 »

  1.   

    能否搞个调用的流程来看看吗?或都谁有Cache的类。我认为是先检查有没Cache 如果没有NEW 一个放进去,有的话直接取。一个方法就可以。。
      

  2.   

    你自己都把问题分析清楚了 怎么还不知道要怎样做呢? 就拿你提供的cache类来进行操作 首先要清楚 cache里面提供的只是基本的对cache的操作 至于具体的业务需求(就是你唠叨的那部分) 是需要另外编码的
    public A GetA()
    {
        A mya = GetCache("CacheA") as A;
        if(mya == null)
        {
            mya = new A();
            SetCache("CacheA",mya)
        }
        return mya;
    }
      

  3.   

    if(GetCache("CacheA"))==null
    {
    new
    }
    else
    {
    SetCache
    }
      

  4.   

    一般写写Cache的类都是这样写的吗?
      

  5.   

    一般什么情况才要用cache一个项目差不多百多个类
      

  6.   

    再问一个。
    比如
    A mya= new A();
    甲用户运行程序 对A进行实例化 mya  的指针指向实例A的内存空间   然后乙用户又再次运行 那么又NEW 了一个A实例,
    那么 这个里A实会覆盖第一次NEW的实列空间,还是从新开辟新的空间?
    mya的指针会接 指向那儿?