首页 > 解决方案 > 如何在.net core中使用redis缓存页面?

问题描述

我是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 页面?

标签: asp.net-mvcasp.net-coreredisservicestack.redis

解决方案


响应缓存中间件使用配置的任何分布式缓存。因此,需要添加Redis 分布式缓存提供程序,然后添加响应缓存中间件

services.AddDistributedRedisCache(options =>
{
    options.Configuration = "localhost";
    options.InstanceName = "SampleInstance";
});
services.AddResponseCaching();

FWIW,您还应该更改现有代码以利用注入的实例IDistributedCache,而不是RedisClient直接使用。最终结果将是相同的(假设您已将 Redis 配置为分布式缓存提供程序),但您将从代码中抽象出实现。


推荐阅读