NetPro.CsRedis
6.0.16
dotnet add package NetPro.CsRedis --version 6.0.16
NuGet\Install-Package NetPro.CsRedis -Version 6.0.16
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NetPro.CsRedis" Version="6.0.16" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NetPro.CsRedis --version 6.0.16
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NetPro.CsRedis, 6.0.16"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NetPro.CsRedis as a Cake Addin
#addin nuget:?package=NetPro.CsRedis&version=6.0.16
// Install NetPro.CsRedis as a Cake Tool
#tool nuget:?package=NetPro.CsRedis&version=6.0.16
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RedisManager使用
支持CsRedis,支持分布式锁,支持多个Redis server
appsetting.json
"RedisCacheOption": {
"Enabled": true,
"ConnectionString": [//如配置远程获取此节点可删除
{
"Key": "1", //连接串key别名,唯一,用来物理隔离
"Value": "127.0.0.1:6379,password=123,defaultDatabase=0,poolsize=10,preheat=20,ssl=false,writeBuffer=10240,prefix=key前辍,testcluster=false,idleTimeout=10" //别名key对应的连接串
}
]
}
使用
启用redis服务
- 默认注入方式,读取本地配置
public void ConfigureServices(IServiceCollection services)
{
//新增redis缓存注入
services.AddCsRedis().Build<SystemTextJsonSerializer>(configuration);//连接串默认读取配置文件的RedisCacheOption节点
}
- 自定义连接
public void ConfigureServices(IServiceCollection services, IConfiguration configuration = null, ITypeFinder typeFinder = null)
{
//基于NetPro.Web.Api的程序,CsRedis支持自动根据配置文件初始化,如需覆盖默认初始化逻辑可在此重新初始化。
services.AddCsRedis<SystemTextJsonSerializer>(configuration, GetConnectionString);
}
public List<ConnectionString> GetConnectionString(IServiceProvider serviceProvider)
{
return new List<ConnectionString>
{
new ConnectionString
{
Key = "2",
Value = "192.168.100.187:6379,password=,defaultDatabase=0,poolsize=10,preheat=20,ssl=false,writeBuffer=10240,prefix=key前辍,testcluster=false,idleTimeout=10"
}
};
}
构造函数注入
public class WeatherForecastController : ControllerBase
{
private readonly IRedisManager _redisManager;
/// <summary>
///
/// </summary>
/// <param name="redisManager"></param>
public WeatherForecastController(
IRedisManager redisManager)
{
_redisManager = redisManager;
}
}
方法说明
/// <summary>
///获取或者创建缓存
/// localExpiredTime参数大于0并且小于expiredTime数据将缓存到本地内存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="func"></param>
/// <param name="expiredTime"></param>
/// <param name="localExpiredTime">本地过期时间</param>
T GetOrSet<T>(string key, Func<T> func = null, TimeSpan? expiredTime = null, int localExpiredTime = 0, string dbKey = default);
方法中调用
//同步方法
var result = _redisManager.GetOrCreate<string>("1",func: ()=>//获取key的值,没有找到则执行委托并将委托返回的值插入redis缓存
{
return "1";
},TimeSpan.FromeSecond(66));
//异步方法
var resultAsync = await _redisManager.GetOrCreateAsync<string>("1",func: async()=>//获取key的值,没有找到则执行委托并将委托返回的值插入redis缓存
{
return await Task.FromResult("1") ;
});
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- CSRedisCore (>= 3.6.8)
- IdleBus (>= 1.5.2)
- NetPro.Startup (>= 6.0.16)
- Newtonsoft.Json (>= 13.0.1)
-
net6.0
- CSRedisCore (>= 3.6.8)
- IdleBus (>= 1.5.2)
- NetPro.Startup (>= 6.0.16)
- Newtonsoft.Json (>= 13.0.1)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on NetPro.CsRedis:
Package | Downloads |
---|---|
NetPro.ResponseCache
Package Description |
|
NetPro.Analysic
Request analysis component, analysis of requests with custom policies, fusing, etc. |
|
NetPro.Analysicn
Package Description |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on NetPro.CsRedis:
Repository | Stars |
---|---|
LeonKou/NetPro
🌈An enhanced version with clean architecture of asp.netcore,efficiently manage startup,Support for netcore3.1/6.0
|
Version | Downloads | Last updated |
---|---|---|
6.0.16 | 278 | 7/24/2023 |
6.0.15 | 814 | 7/19/2022 |
6.0.14 | 850 | 7/10/2022 |
6.0.13 | 825 | 6/15/2022 |
6.0.12 | 828 | 6/15/2022 |
6.0.11 | 810 | 6/15/2022 |
6.0.10 | 839 | 6/11/2022 |
6.0.9 | 838 | 6/8/2022 |
6.0.8 | 871 | 5/26/2022 |
6.0.8-beta.3 | 131 | 5/24/2022 |
6.0.8-beta.2 | 106 | 5/24/2022 |
6.0.7 | 846 | 5/18/2022 |
6.0.6 | 837 | 4/28/2022 |
6.0.5 | 825 | 3/30/2022 |
6.0.5-beta.20 | 112 | 4/27/2022 |
6.0.5-beta.19 | 114 | 4/25/2022 |
6.0.5-beta.18 | 107 | 4/22/2022 |
6.0.5-beta.17 | 113 | 4/16/2022 |
6.0.5-beta.16 | 548 | 4/8/2022 |
6.0.5-beta.15 | 119 | 4/8/2022 |
6.0.5-beta.14 | 122 | 4/7/2022 |
6.0.5-beta.13 | 117 | 4/7/2022 |
6.0.5-beta.12 | 111 | 4/6/2022 |
6.0.5-beta.11 | 144 | 4/6/2022 |
6.0.5-beta.10 | 130 | 3/31/2022 |
6.0.5-beta.9 | 131 | 3/26/2022 |
6.0.5-beta.8 | 140 | 3/22/2022 |
6.0.5-beta.7 | 127 | 3/21/2022 |
6.0.5-beta.6 | 130 | 3/14/2022 |
6.0.5-beta.5 | 128 | 3/2/2022 |
6.0.5-beta.4 | 135 | 2/22/2022 |
6.0.5-beta.3 | 134 | 2/18/2022 |
6.0.5-beta.2 | 114 | 2/18/2022 |
6.0.5-beta.1 | 130 | 2/16/2022 |
6.0.4 | 692 | 2/10/2022 |
6.0.3 | 680 | 2/9/2022 |
6.0.3-beta.9 | 114 | 2/10/2022 |
6.0.3-beta.7 | 140 | 1/27/2022 |
6.0.3-beta.6 | 138 | 1/19/2022 |
6.0.3-beta.5 | 129 | 1/17/2022 |
6.0.3-beta.4 | 134 | 1/16/2022 |
6.0.3-beta.3 | 135 | 1/14/2022 |
6.0.3-beta.2 | 133 | 1/13/2022 |
6.0.3-beta.1 | 157 | 1/11/2022 |
6.0.2 | 425 | 1/6/2022 |
6.0.1 | 1,135 | 12/3/2021 |
3.1.11 | 600 | 11/17/2021 |
3.1.10 | 1,911 | 7/29/2021 |
3.1.9 | 2,327 | 7/1/2021 |
3.1.8 | 388 | 12/15/2020 |