【问题标题】:Does the Cache get overwritten?缓存会被覆盖吗?
【发布时间】:2009-01-09 16:31:47
【问题描述】:

如果您的网站上有多个用户在同一页面上,并且他们正在运行查询(搜索)并且结果存储在数据表中。如果将应用程序缓存存储在缓存中,最后一个人的搜索会覆盖吗?这是使用 Session 的理由吗?

【问题讨论】:

    标签: asp.net session caching


    【解决方案1】:

    这取决于您如何将信息存储到缓存中。如果信息是不同查询的结果,那么缓存应该将该值存储在不同的键中。

    【讨论】:

      【解决方案2】:

      如果您将它们存储在同一个密钥下,当然可以。如果您将密钥设置为特定于用户或会话,则可以避免冲突。

      【讨论】:

        【解决方案3】:

        您应该注意缓存和会话在更多方面的不同,而不仅仅是访问范围。

        缓存中的项目通常属于可以在需要时重新创建的类型,默认情况下项目可以任意从缓存中删除。

        另一方面,会话中的项目将保留在会话中,直到被代码明确删除。此外,会话可能不是进程中的本地存储,它可能位于另一个进程、服务器甚至数据库中。

        【讨论】:

          猜你喜欢
          • 2011-05-08
          • 1970-01-01
          • 2018-06-21
          • 2020-05-31
          • 2020-08-08
          • 2012-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多