• asp.net 服务端与客户端 缓存


    服务器缓存是把数据放在服务器的内存中,客户端缓存则是把数据保存在浏览器里。

    服务器上某一页面访问量较大,且是经常变动的话,用服务器缓存比较合适,这样访止同一时间造上数据库连接次数过多的情况。

    如果服务器上某一页面访问量较大,但是内容一直不变,或者非常长时间才变动的话,可以用客户端缓存,也可以用服务器端缓存。

    服务器缓存不要滥用,要根据具体情况来使用,不然不但起不到提高效率的作用,反而比不使用缓存更糟糕。
    客户端缓存滥用会导致用户长时间浏览的一直是固定不变的页面

    具体的用法
    服务器端:
    ASP.NET 有三种可由 Web 应用程序使用的缓存:
    1.输出缓存:缓存请求所生成的动态响应.
    2.片断缓存:缓存请求所生成的相应的各部分.
    3.数据缓存:以编程方式混存任意对象.

    输出缓存:(缓存绝对过期)
    通过缓存从动态页生成的内容来提高请求/响应的吞吐量.默认情况下启用输出缓存,
    但不缓存来自任何响应的输出,除非采取显式操作使该响应成为可缓存的.
    若要使相应满足输出缓存的条件,它必须具有有效的过期/有效性策略和公共的缓存可
    见性.启用输出缓存后,当发出对页的第一个GET请求时创建一个输出缓存项。随后的GET或
    HEAD请求由该输出缓存项服务,直到该缓存请求过期。
    下面的指令在响应时激活输出缓存:
    <%@ OutputCache Duration="60" VaryByParam="none"%>

    页片断缓存:(单独缓存)
    <%@ OutputCache Duration="120" VaryByParam="id1;id2"%>
    VaryByParam属性功能非常强大,允许用户控件作者指示asp.net在服务器上缓存/存储
    输出缓存区域的多个实例。
    片断缓存还支持VaryByControl属性。VaryByParam属性基于使用POST或GET发送的名称
    /值对改变缓存结果,而VaryByControl属性则通过用户控件中的控件改变缓存片断。

    页数据缓存:
    把数据项放入缓存:
    Cache["mykey"]=myValue;
    从缓存中检索数据:
    myValue=Cache["mykey"];
    if(myCache !=null)
    {
    DisplayData(myValue);
    }


    客户端缓存:

    <%@ OutputCache Duration="10" VaryByParam="None" VaryByCustom="browser" %>

    另外服务器缓存是针对多用户同时请求同一页面或数据的情况

    客户端缓存是针对同一用户多次访问相同页面或数据的情况。

    活用缓存可以对网站的访问速度有很大的提升,尤其是访问量大的时候

  • 相关阅读:
    Codeforces Round #568 (Div. 2) D. Extra Element
    Codeforces Round #567 (Div. 2) B. Split a Number
    [dp+博弈]棋盘的必胜策略
    [暴力+前缀和]2019牛客暑期多校训练营(第六场)Upgrading Technology
    [set]Codeforces 830B-Cards Sorting
    [二分]煤气灶
    [STL] Codeforces 69E Subsegments
    剑指offer——判断B树是否是A树的子结构
    在浏览器地址栏输入URL执行后网页显示全过程
    链表反转【图解】
  • 原文地址:https://www.cnblogs.com/huacw/p/2144201.html
Copyright © 2020-2023  润新知