Zongsoft.Externals.Redis
7.13.0
dotnet add package Zongsoft.Externals.Redis --version 7.13.0
NuGet\Install-Package Zongsoft.Externals.Redis -Version 7.13.0
<PackageReference Include="Zongsoft.Externals.Redis" Version="7.13.0" />
<PackageVersion Include="Zongsoft.Externals.Redis" Version="7.13.0" />
<PackageReference Include="Zongsoft.Externals.Redis" />
paket add Zongsoft.Externals.Redis --version 7.13.0
#r "nuget: Zongsoft.Externals.Redis, 7.13.0"
#:package Zongsoft.Externals.Redis@7.13.0
#addin nuget:?package=Zongsoft.Externals.Redis&version=7.13.0
#tool nuget:?package=Zongsoft.Externals.Redis&version=7.13.0
Zongsoft.Externals.Redis Extension Plugin Library
Overview
Zongsoft.Externals.Redis integrates Redis with the infrastructure abstractions of the Zongsoft framework. It is built on StackExchange.Redis and can be used as a plugin or referenced directly by an application.
Features
- Registers named Redis services from
Redisconnection settings. - Provides key/value, dictionary, hash-set, sequence, and distributed-lock operations.
- Implements the framework's message queue and subscription abstractions with Redis.
- Supplies a Microsoft configuration provider and distributed-cache integration.
- Adds Redis inspection, mutation, counter, search, and lock commands to the Zongsoft command tree.
Load Zongsoft.Externals.Redis.plugin and configure /Externals/Redis/ConnectionSettings. Messaging connections can be configured separately under /Messaging/ConnectionSettings; both use the Redis driver. See the distributed-lock sample, the distributed-cache sample, the messaging sample, and the tests for working examples.
Redis streams retain up to 100000 messages by default and use approximate trimming. Configure MaximumLength and UseApproximateMaximumLength in the messaging connection settings to change this behavior; use a negative MaximumLength to disable trimming. Dead-letter transfer atomically appends and acknowledges through a same-slot Lua script.
Cache notification subscriptions require Redis keyspace notifications (recommended setting: notify-keyspace-events KA). Notifications have Redis Pub/Sub at-most-once semantics and are not replayed after a disconnection.
Caches, queues, configuration providers, and the Microsoft distributed cache share one ConnectionMultiplexer when their connection options are equivalent; independent leases control ownership. Use RedisService.WithDatabase() and WithNamespace() for immutable scopes. The legacy Use() and Namespace members may only change a service before its first operation.
Notifications use one Redis subscription per scope and one bounded local queue per consumer. The default capacity is 1024, with drop-oldest overflow behavior. The configuration provider keeps a detached local snapshot and reloads it after matching key notifications.
Redis locks expose monotonically increasing fencing tokens and explicit renewal. Automatic renewal is disabled by default and is enabled only through DistributedLockOptions.RenewalInterval; an uncertain connection or failed renewal is treated as loss of ownership, so protected writes should validate fencing tokens.
RedisServiceInfo.Capabilities and RedisQueue.Capabilities expose the conservative intersection across primary nodes: XAUTOCLAIM at Redis 6.2, XACKDEL/group-aware trimming at 8.2, and Stream IDMP at 8.6. Older servers retain the existing fallback behavior. The Zongsoft.Externals.Redis diagnostics source provides both ActivitySource and Meter without requiring an additional telemetry package.
| 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 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.0)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.0)
- Microsoft.Extensions.Configuration (>= 10.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.0)
- StackExchange.Redis (>= 3.1.13)
- Zongsoft.Core (>= 7.58.0)
-
net8.0
- Microsoft.Extensions.Caching.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 8.0.1)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- StackExchange.Redis (>= 3.1.13)
- Zongsoft.Core (>= 7.58.0)
-
net9.0
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.2)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 9.0.2)
- Microsoft.Extensions.Configuration (>= 9.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.2)
- StackExchange.Redis (>= 3.1.13)
- Zongsoft.Core (>= 7.58.0)
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 |
|---|---|---|
| 7.13.0 | 103 | 8/20/2026 |
| 7.11.0 | 110 | 8/15/2026 |
| 7.10.0 | 211 | 12/31/2025 |
| 7.9.1 | 262 | 11/26/2025 |
| 7.9.0 | 273 | 10/17/2025 |
| 7.7.0 | 239 | 10/10/2025 |
| 7.6.0 | 268 | 9/25/2025 |
| 7.5.0 | 452 | 7/21/2025 |
| 7.4.0 | 283 | 6/27/2025 |
| 7.3.0 | 260 | 5/30/2025 |
| 7.2.0 | 373 | 5/16/2025 |
| 7.1.0 | 291 | 5/6/2025 |
| 7.0.0 | 278 | 2/24/2025 |