首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么在高流量网站中使用会话来存储状态是个坏主意?

为什么在高流量网站中使用会话来存储状态是个坏主意?
EN

Stack Overflow用户
提问于 2009-04-20 17:43:18
回答 7查看 6.4K关注 0票数 21

我正在ASP.NET /ASP.NET上观看学习视频。在本教程中,他们将构建一个测验引擎。有一次,讲述者解释说,我们将使用Session对象来维护每页之间的状态(每页包含一个问题和四个答案)。他说,“由于这是一个低流量的网站”,可以使用Session,但他没有时间实现更复杂的方法。

我只是想知道他在暗示什么替代方法?为什么session对于一个高流量的网站来说是一个糟糕的选择?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-04-20 17:47:00

将数据存储在数据库中,或者存储在cookie或其他不会直接占用web服务器内存的方法中。

除了负载之外,会话还会引发使用服务器场的能力问题,因为您需要在整个服务器场中同步会话,或者使会话变得粘滞,这可能会影响可伸缩性。

票数 19
EN

Stack Overflow用户

发布于 2009-04-28 00:10:34

对于替代方案,您可以阅读文章Nine Options for Managing Persistent User State in Your ASP.NET Application

在文章中,作者解释了每种方法的优缺点。

从摘要中:

ASP.NET提供了许多不同的方法来在用户请求之间持久化数据。您可以使用Application对象、cookies、隐藏字段、Session或Cache对象以及许多其他方法。决定何时使用其中的每一个有时可能很困难。本文将介绍上述技术,并提供有关何时使用它们的一些指南。虽然这些技术中的许多都存在于传统的ASP中,但随着.NET框架的引入,何时使用它们的最佳实践已经发生了变化。若要将数据持久化到ASP.NET中,您必须调整以前学到的有关在ASP.

中处理状态的知识

票数 6
EN

Stack Overflow用户

发布于 2009-04-20 17:51:58

会话数据存储在服务器的RAM中,如果你有一个高流量的站点,很快就会变满,而你最不想要的就是将数据交换到磁盘上。

正如gaijin42所说,cookies或DB是替代方案。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/769338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档