You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# Redis 缓存
ABP Framework [缓存系统 ](Caching.md ) 拓展了 [ASP.NET Core 分布式缓存 ](https://docs.microsoft.com/zh-cn/aspnet/core/performance/caching/distributed ). 因此, 标准 ASP.NET Core 分布式缓存支持的 ** 任何提供程序** 都可以在你的应用程序中使用,并且可以像 ** 微软文档** 那样进行配置.
不过, ABP为 Redis Cache 还提供了一个集成包: [Volo.Abp.Caching.StackExchangeRedis ](https://www.nuget.org/packages/Volo.Abp.Caching.StackExchangeRedis ).
为何使用中这个包而不是标准的[Microsoft.Extensions.Caching.StackExchangeRedis](https://www.nuget.org/packages/Microsoft.Extensions.Caching.StackExchangeRedis/)包有两个原因.
1. 它实现 `SetManyAsync` 和 `GetManyAsync` 方法. 这些都不是 Microsoft 缓存库的标准方法, 而是由ABP框架[缓存](Caching.md)系统添加的. 当你需要通过单个方法调用设置/获取多个缓存项时,它们**显著提高了性能**.
2. 它 ** 简化** 了 Redis 缓存 ** 配置** (将在下面解释).
> Volo.Abp.Caching.StackExchangeRedis 已经使用了 Microsoft.Extensions.Caching.StackExchangeRedis 包,但对其进行了扩展和改进.
## 安装
> 如果使用Redis, 则此软件包已安装在应用程序启动模板中.
在项目`.csproj`的文件夹中打开命令行窗口并输入命令:
````bash
abp add-package Volo.Abp.Caching.StackExchangeRedis
````
## 配置
Volo.Abp.Caching.StackExchangeRedis 包自动从`IConfiguration`获取Redis[配置](Configuration.md). 因此,你可以在以下位置设置配置 `appsettings.json` :
````js
"Redis": {
"IsEnabled": "true",
"Configuration": "127.0.0.1"
}
````
设置`IsEnabled`为可选的,如果未设置将默认视为`true`.
或者,你可以在[模块](Module-Development-Basics.md)的ConfigureServices方法中配置标准的[RedisCacheOptions](https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.extensions.caching.stackexchangeredis.rediscacheoptions)类:
````csharp
Configure< RedisCacheOptions > (options =>
{
//...
});
````
## 另请参阅
* [缓存 ](Caching.md )