Bat.Cache.Redis
10.0.12
dotnet add package Bat.Cache.Redis --version 10.0.12
NuGet\Install-Package Bat.Cache.Redis -Version 10.0.12
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="Bat.Cache.Redis" Version="10.0.12" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bat.Cache.Redis" Version="10.0.12" />
<PackageReference Include="Bat.Cache.Redis" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Bat.Cache.Redis --version 10.0.12
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Bat.Cache.Redis, 10.0.12"
#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.
#:package Bat.Cache.Redis@10.0.12
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Bat.Cache.Redis&version=10.0.12
#tool nuget:?package=Bat.Cache.Redis&version=10.0.12
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
For use Bat.Cache.Redis just do it :
Distributed Cache
1- Install Bat.Cache.Redis on your project
2- Set RedisSettings on appSettings.json file for example :
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*",
"RedisSettings": {
"Server1": "127.0.0.1",
"Port1": 6379,
"Server2": "127.0.0.1",
"Port2": 6380,
"Server3": "127.0.0.1",
"Port3": 6381,
"Username": "",
"Password": "Norouzi",
"ClientName": "Bat.Cache.Redis",
"AbortOnConnectFail": false,
"SyncTimeout": 5,
"ConnectRetry": 3,
"ConnectTimeout": 3000,
"DefaultDatabaseIndex": 0,
"IsSentinelConnect": false,
"AllowAdminCommand": false,
"IncludeDetailInExceptions": false,
"CheckCertificateRevocation": false,
"SslSettings": {
"UseSsl": false,
"SslHost": ""
}
}
}
3- Register RedisCacheProvider to service container for example :
builder.Services.AddDistributedMemoryCache();
builder.Services.Configure<RedisSettings>(configuration.GetSection("RedisSettings"));
builder.Services.AddSingleton<IRedisCacheProvider, RedisCacheProvider>();
4- Use it in business logic for example :
public class BaseService : IBaseService
{
private readonly IRedisCacheProvider _cacheProvider;
public BaseService(IRedisCacheProvider cacheProvider)
{
_cacheProvider = cacheProvider;
}
public List<string> GetRegions()
{
var data = new List<string> { "Tehran", "Esfahan", "Shiraz" };
_cacheProvider.Set("Regions_Key", data.SerializeToJson(), TimeSpan.FromHours(24));
return _cacheProvider.Get<List<Region>>("Regions_Key");
}
}
Distributed Lock
Register Distributed Lock
```csharp
services.AddBatDistributedLock(options =>
{
options.AcquireTimeout = 10; // Maximum wait time for lock
options.LockExpiry = 30; // Lock expiration time
options.RetryDelay = 100; // Retry delay in milliseconds
options.AutoRenew = false; // Enable auto-renewal
options.RenewalInterval = 10; // Auto-renewal interval
options.LockKeyPrefix = "myapp"; // Custom prefix for lock keys
});
```
Use Distributed Lock
```csharp
public async Task<decimal> CalculateBalanceAsync(int accountId)
{
var (success, balance) = await _distributedLock.ExecuteWithLock(
key: $"account:{accountId}",
func: async () =>
{
var transactions = await GetTransactions(accountId);
return transactions.Sum(t => t.Amount);
}
);
if (!success)
{
throw new Exception("Could not acquire lock for balance calculation");
}
return balance;
}
```
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Bat.Core (>= 10.0.0)
- Microsoft.Extensions.Caching.Hybrid (>= 10.1.0)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.1)
- Microsoft.Extensions.Configuration (>= 10.0.1)
- StackExchange.Redis (>= 2.10.1)
-
net8.0
- Bat.Core (>= 8.0.11)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 8.0.11)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- StackExchange.Redis (>= 2.8.16)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.12 | 92 | 10/5/2026 |
| 10.0.1 | 262 | 12/29/2025 |
| 10.0.0 | 261 | 12/23/2025 |
| 8.0.11 | 416 | 11/26/2024 |
| 8.0.5 | 359 | 4/6/2024 |
| 8.0.4 | 257 | 4/3/2024 |
| 8.0.3 | 296 | 3/5/2024 |
| 8.0.2 | 277 | 3/3/2024 |
| 8.0.1 | 281 | 1/22/2024 |
| 6.0.1 | 691 | 3/27/2022 |
| 1.1.1 | 607 | 7/12/2021 |
| 1.1.0 | 599 | 3/26/2021 |
| 1.0.7 | 625 | 2/4/2021 |
| 1.0.4 | 701 | 10/19/2020 |
For Contact Us Please Send Mail Or Call To :
Tel : 09301919109
Mail : mehrannoruzi@gmail.com