gpt4 book ai didi

asp.net - 平面文件中的 View 状态与 SQLserver 中的 View 状态

转载 作者:行者123 更新时间:2023-12-04 07:02:53 25 4
gpt4 key购买 nike

我自己写的 PageStatePersister基于 SessionPageStatePersister 的类写入最近的 10 Viewstate s 用于到共享磁盘的 session 。我认为这比保持 Viewstate 更好地扩展在 session 中,因为所有 Web 服务器都可以访问它,因此它们不必处理过期问题,并使用更少的内存。

当用户关闭浏览器时,它会通知服务器,服务器会删除那些两个小时未访问的文件。到目前为止一切顺利,但我想知道是否会更快、更有效地存储 Viewstate在 SQL 服务器数据库中。

  • 每个ViewState文件平均为 30k。
  • 目前它只是读取一个隐藏字段来获取 Viewstate 键并直接访问文件并反序列化。无需排序或搜索。
  • 每小时将有大约 2000 个并发用户,保存最近的 20 个 Viewstate session 将是每小时大约 20k 临时 View 文件。
  • 它必须定期遍历文件并删除最旧的文件。

  • 那么在这种情况下哪个更好: 平面文件 系统或 数据库 ?

    最佳答案

    将 ViewState 存储在 SQL Server 中会更好地扩展。例如,如果您最终希望从最近的 10 个增加到最近的 50 个,那么 DB 负载的增加将是相对微不足道的。通常应该尽可能避免磁盘 I/O,比 DB I/O 更是如此。清理操作也会工作得更好,因为在磁盘上的废弃文件荒地中寻找可能比 WHERE DateInserted > 20 minutes ago 重得多。 .

    关于asp.net - 平面文件中的 View 状态与 SQLserver 中的 View 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1549403/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com