我在某种程度上是 redis 的初学者,我知道如果你想缓存列表或对象或类似的东西,它在 redis 中很容易,但我不知道如何将我的网页存储在 redis 中?注意我正在使用 servicestack 作为我的 redis 客户端,并使用服务堆栈将数据保存到我的 redis 我正在使用这样的代码:
IRedisClient redisClient = new RedisClient();
var rc = redisClient.As<person>();
rc.Store(new person()
{
Id = 1,
Name = "foo"
});
rc.Store(new person()
{
Id = 2,
Name = "bar"
});
var result = rc.GetAll();
就像我之前告诉你的那样,在我心中有一个很大的问题是它
如何使用 Redis 在.net 核心 Web 应用程序中缓存我的.html 或.cshtml 页面?
2 回答
响应缓存中间件使用配置的任何分布式缓存。因此,您需要添加Redis 分布式缓存提供程序,然后添加响应缓存中间件:
FWIW,您还应该更改现有代码以使用
IDistributedCache
的注入实例,而不是直接使用RedisClient
。最终结果将是相同的(假设您已将 Redis 配置为分布式缓存提供程序),但您将从代码中抽象出实现。如果您使用ServiceStack Razor或ServiceStack 模板生成视图,则可以使用[CachedResponse]属性来缓存服务的输出响应,e.g:
注释您的服务将缓存所有服务的输出响应,否则您可以将它们添加到服务实现方法上以临时缓存它们,e.g: