【问题标题】:Can I use the same Redis instance for storing sessions from more than one application?我可以使用同一个 Redis 实例来存储来自多个应用程序的会话吗?
【发布时间】:2020-07-07 14:18:18
【问题描述】:

我们目前使用 Redis 来存储当前在 Azure 上运行的一个应用程序的会话。我们使用它,因此当 Azure 扩展应用程序时,会话不会本地存储在应用程序本身中。我们也在 Azure 中放置另一个应用程序,我想知道我们是否可以使用同一个 Redis 实例,或者如果在同一个地方有两个应用程序存储会话可能会导致问题。

【问题讨论】:

    标签: azure redis session-state


    【解决方案1】:

    这取决于您的密钥。如果您使用的密钥只是用户名。然后两个应用程序读取相同的会话状态。您可以通过使用应用程序名称作为键的一部分创建复合键来实现。

    我会使用单独的实例:

    • 确保跨应用程序的唯一键名会增加复杂性和风险
    • 一个应用程序的高负载可能会影响其他应用程序
    • 如果 Redis 实例出现故障,您的应用程序也会失败

    【讨论】:

      【解决方案2】:

      我不会使用不同的密钥和相同的 Redis 服务器和数据库。您的两个 Web 应用程序成为联合双胞胎。如果一个网络应用程序出现故障,它可能会破坏另一个网络应用程序。

      如果您将相同的 Web 应用程序代码部署到两个或多个 Web 应用程序,您可以使用相同的 Redis 服务器,但在服务器中使用不同的数据库。 Azure Redis 缓存有一台服务器,每台服务器有 16 个数据库。但是,同一服务器中的数据库共享服务限制。

      或者绝对最好的做法是使用两个不同的 Azure Redis 缓存服务为这两个 Web 应用程序设置防火墙。

      【讨论】:

        猜你喜欢
        • 2016-06-09
        • 2012-12-13
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 2016-09-21
        • 1970-01-01
        • 2022-01-21
        • 2011-05-02
        相关资源
        最近更新 更多