asp.net-mvc - 如何在.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 页面?
解决方案
响应缓存中间件使用配置的任何分布式缓存。因此,需要添加Redis 分布式缓存提供程序,然后添加响应缓存中间件:
services.AddDistributedRedisCache(options =>
{
options.Configuration = "localhost";
options.InstanceName = "SampleInstance";
});
services.AddResponseCaching();
FWIW,您还应该更改现有代码以利用注入的实例IDistributedCache
,而不是RedisClient
直接使用。最终结果将是相同的(假设您已将 Redis 配置为分布式缓存提供程序),但您将从代码中抽象出实现。
推荐阅读
- post - RestTemplate - postForObject 方法 - 在数据库中添加条目但给了我 JsonParseException 异常
- visual-studio - SSRS 是否有更有效的方法来使用 VB 调用子报表
- ubuntu - 如何从 ubuntu 卸载 gitahead?
- css - 如何使用 CSS 将列表项子元素与动态数据水平对齐
- node.js - Meteor Site 无法到达 Beanstalk
- reactjs - 如何使用 SPA 或 Web 应用在 Okta 中获取 refresh_token
- mysql - SQL在WHERE子句中添加条件
- python - Dash/Plotly DataTable 组件的响应性问题
- python - 如果没有,则合并熊猫中的列
- python - 从 Python 调用 Tableau Prep 流程