如何在REDIS缓存中添加全局变量
How to add global variable in REDIS cache
需要在REDIS缓存中添加全局变量。
例如:
考虑与学生、雇员和员工相关的应用程序。
每个角色都有一个独特的对象。当学生登录应用程序时,我们需要从redis中获取学生信息。其他角色也一样登录。
如果我们在应用程序初始化时存储所有详细信息,则无需发送请求来获取与角色相关的详细信息。如果我们将它存储到会话中,那么每个用户登录时都会检查该数据。每个用户的会话 ID 也有所不同。
可能吗?
如果是,我们如何在应用程序初始化时存储这些值?
首先,由于 Redis 是一个缓存,您存储的对象可能 随时间被逐出 。当 Redis 变满时,它会根据你的 eviction policy configuration.
开始清理对象
可能在初始化时缓存所有内容并不是最好的做法,我会在第一次请求对象时缓存它们,如果它们不存在于 Redis 上,请存储它们以供将来检索。这样,如果您的 Redis 实例清除了该对象,您的应用程序逻辑将始终找到它(从缓存或本地存储)。这叫做 Cache-Aside Pattern.
您的初始化逻辑因您使用的技术/平台而异。
ASP.NET MVC 5 或更低版本有 Global.asax 文件,ASP.NET 5 MVC6 有 Startup.cs 文件。
需要在REDIS缓存中添加全局变量。 例如: 考虑与学生、雇员和员工相关的应用程序。 每个角色都有一个独特的对象。当学生登录应用程序时,我们需要从redis中获取学生信息。其他角色也一样登录。
如果我们在应用程序初始化时存储所有详细信息,则无需发送请求来获取与角色相关的详细信息。如果我们将它存储到会话中,那么每个用户登录时都会检查该数据。每个用户的会话 ID 也有所不同。
可能吗? 如果是,我们如何在应用程序初始化时存储这些值?
首先,由于 Redis 是一个缓存,您存储的对象可能 随时间被逐出 。当 Redis 变满时,它会根据你的 eviction policy configuration.
开始清理对象可能在初始化时缓存所有内容并不是最好的做法,我会在第一次请求对象时缓存它们,如果它们不存在于 Redis 上,请存储它们以供将来检索。这样,如果您的 Redis 实例清除了该对象,您的应用程序逻辑将始终找到它(从缓存或本地存储)。这叫做 Cache-Aside Pattern.
您的初始化逻辑因您使用的技术/平台而异。 ASP.NET MVC 5 或更低版本有 Global.asax 文件,ASP.NET 5 MVC6 有 Startup.cs 文件。