c# - 当某些内容缓存在 c# asp.net 中时,它是缓存在服务器上还是客户端上?

标签 c# asp.net performance caching singleton

 private Obj CacheSomething()
    {
       Obj retVal = (Obj)System.Web.HttpRuntime.Cache["key"];

        if (retVal == null)
        {
            retVal = new Obj();
            System.Web.HttpRuntime.Cache["key"] = retVal;
        }
        return retVal;
    }

这可能是一个愚蠢的问题,但它是存储在服务器内存还是客户端内存中?

此外,执行上述操作与使用 Singleton 有什么区别?

例如:

myObj= GenericSingleton<Obj>.GetInstance();

myObj= CacheSomething();

当我每次声明一个新的对象时,显然需要更长的时间,但是以上两种方法都比不缓存和不使用单例要快。使用单例基本上是缓存吗?

最佳答案

它缓存在服务器上。最显着的区别是项目可能会因为内存压力或者因为您在插入时指定了过期或依赖信息而从缓存中逐出。

关于c# - 当某些内容缓存在 c# asp.net 中时,它是缓存在服务器上还是客户端上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13804769/

相关文章:

javascript - 按钮触发器没有被调用

Internet Explorer 11 中的 JavaScript 错误

Ruby:在字符串中查找前 N 个正则表达式匹配项(并停止扫描)

c# - 我们可以在 MonoRail 中的不同操作上使用带扩展和不带扩展吗?

c# - 在 Json.NET 中如何处理丢失的枚举值以选择另一个枚举值

asp.net - 为什么 ASP.NET 尝试为 Web 服务引用生成临时类?

java:我怎样才能减少if(method1()&&method2()....&&method25())?

arrays - clojure数组处理中如何去掉clojure/lang/RT.aset和clojure/lang/RT.intCast?

C# 内存模型和非 volatile 变量在其他线程创建之前初始化

c# - Registry.GetValue 自动扩展环境变量 - 有什么方法可以避免这种情况?