【发布时间】:2009-01-09 16:31:47
【问题描述】:
如果您的网站上有多个用户在同一页面上,并且他们正在运行查询(搜索)并且结果存储在数据表中。如果将应用程序缓存存储在缓存中,最后一个人的搜索会覆盖吗?这是使用 Session 的理由吗?
【问题讨论】:
如果您的网站上有多个用户在同一页面上,并且他们正在运行查询(搜索)并且结果存储在数据表中。如果将应用程序缓存存储在缓存中,最后一个人的搜索会覆盖吗?这是使用 Session 的理由吗?
【问题讨论】:
这取决于您如何将信息存储到缓存中。如果信息是不同查询的结果,那么缓存应该将该值存储在不同的键中。
【讨论】:
如果您将它们存储在同一个密钥下,当然可以。如果您将密钥设置为特定于用户或会话,则可以避免冲突。
【讨论】:
您应该注意缓存和会话在更多方面的不同,而不仅仅是访问范围。
缓存中的项目通常属于可以在需要时重新创建的类型,默认情况下项目可以任意从缓存中删除。
另一方面,会话中的项目将保留在会话中,直到被代码明确删除。此外,会话可能不是进程中的本地存储,它可能位于另一个进程、服务器甚至数据库中。
【讨论】: