首页 > 解决方案 > 当数据库中的记录发生更改时,如何更新/刷新 Azure Cache for Redis?

问题描述

我希望你们都做得很好。我有几个与 Azure Redis 缓存相关的问题

我正在使用 Azure Cache for Redis 来存储我的所有客户(我这样做是因为我至少有 25000 个客户)并且在某些情况下每次获取这么多客户都需要花费太多时间。所以首先我将这些客户保存在 Azure Redis 缓存中,然后在应用程序的其他部分使用相同的缓存。

我正在使用 Azure Cache for Redis 来存储我的所有客户(我这样做是因为我至少有 25000 个客户)并且在某些情况下每次获取这么多客户都需要花费太多时间。所以首先我将这些客户保存在 Azure Redis 缓存中,然后在应用程序的其他部分使用相同的缓存。

现在我的问题是。

1- 如果数据库中客户的信息发生一些变化,如何刷新/更新我的 Azure Redis 缓存?

2- 我的缓存空间是 1GB,所以这 1GB 空间将在所有应用程序用户之间使用,或者每个应用程序用户单独使用他们的 1GB Redis 空间。

所有的答案对我来说都是非常明显的提前谢谢:)

标签: c#asp.net-mvcazurestackexchange.redisazure-redis-cache

解决方案


对于这个问题——

1- 如果数据库中客户的信息发生一些变化,如何刷新/更新我的 Azure Redis 缓存?

您可以使用 C# SDK 删除旧值并保存新值,如下所示:

IDatabase cache = Connection.GetDatabase();
cache.KeyDelete("Key");
cache.StringSet("Key", "Value");

对于这个问题——

2- 我的缓存空间是 1GB,所以这 1GB 空间将在所有应用程序用户之间使用,或者每个应用程序用户单独使用他们的 1GB Redis 空间。

Azure Cache for Redis 提供基于开源软件 Redis 的内存数据存储。Azure Redis 缓存可用作分布式数据缓存、会话存储和消息代理。通过利用 Redis 引擎的低延迟、高吞吐量性能来提高应用程序性能。

答案取决于你如何配置 Redis 缓存。在大多数情况下,一个 Redis 缓存用于应用程序中的所有用户,您可以在其中使用User Id. 例如:(7654-UserModel用户模型对象中 ID 为 7654 的用户的用户属性)。

您还可以在此处参考一个很好的实现示例 -教程:在 ASP.NET 上创建缓存边排行榜


推荐阅读