1

需要在 REDIS Cache 中添加全局变量。例如:考虑与学生、员工和员工相关的应用程序。每个角色都有一个独特的对象。当学生登录应用程序时,我们需要从 redis 中获取学生信息。其他角色也一样登录。

如果我们在应用程序初始化时存储所有细节,我们不需要发送请求来获取角色相关的细节。如果我们将其存储到会话中,则每个用户登录都会检查该数据。每个用户的会话 ID 也不同。

可能吗?如果是,我们如何在应用程序初始化时存储这些值?

4

1 回答 1

2

首先,由于 Redis 是一个缓存,因此您存储的对象可能会随着时间被逐出。当 Redis 变满时,它会根据你的驱逐策略配置开始清理对象。

可能在初始化时缓存所有内容并不是最好的做法,我会在第一次请求对象时缓存它们,如果它们不存在于 Redis 上,请将它们存储起来以备将来检索。这样,如果您的 Redis 实例清除该对象,您的应用程序逻辑将始终找到它(从缓存或本地存储)。这就是所谓的Cache-Aside Pattern

您的初始化逻辑因您使用的技术/平台而异。ASP.NET MVC 5 或更低版本有 Global.asax 文件,ASP.NET 5 MVC6 有 Startup.cs 文件。

于 2016-01-12T12:13:42.327 回答