RedisStorm 1.2.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package RedisStorm --version 1.2.2
NuGet\Install-Package RedisStorm -Version 1.2.2
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="RedisStorm" Version="1.2.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RedisStorm --version 1.2.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RedisStorm, 1.2.2"
#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 RedisStorm as a Cake Addin #addin nuget:?package=RedisStorm&version=1.2.2 // Install RedisStorm as a Cake Tool #tool nuget:?package=RedisStorm&version=1.2.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RedisStorm
This is a simple wrapper for StackExchange.Redis that would make using redis pub sub easier.
Features
- You can use message pack serialization for better performance
- Adding subscribers automatically and binding them to channels with attribute
- Using built-in DI container for handling messages so that you can inject services inside your subscriber (message handler)
Installation
Using package manager:
Install-Package RedisStorm -Version 1.1.1
Usage/Examples
Setup
services.AddRedisStorm(Assembly.GetExecutingAssembly(), factory =>
{
//Add multiplexer below
factory.AddConnectionMultiplexer(multiplexer);
// factory.AddConnectionMultiplexerFromServiceCollection();
factory.AddPublisher(registrationFactory =>
{
registrationFactory.SerializationType = SerializationType.MessagePack;
});
factory.AddSubscribers(registrationFactory =>
{
//You can change type to message pack here (default is json)
registrationFactory.SerializationType = SerializationType.MessagePack;
//You can use below line for automaticaly registring subscribers
registrationFactory.AddSubscribersFromAssembly();
//Also you can add subscribers here manually with this method
registrationFactory.ConfigSubscriber<SampleSubscriber>("channelName");
});
});
Subscriber
namespace RedisStorm.Test.Subscribers;
[RedisChannel("sample-channel")]
public class SampleSubscriber : ISubscriber<SampleMessage>
{
public Task Handle(SampleMessage message, CancellationToken cancellationToken)
{
throw new NotImplementedException();
}
}
You should use this attribute only when you want to bind subscriber automatically
Publisher
namespace RedisStorm.Test.Services;
private readonly IRedisPublisher _publisher;
public TestService(IRedisPublisher publisher)
{
_publisher = publisher;
}
public async Task Test()
{
_publisher.Publish("channel", new SampleMessage());
}
It only works when you call AddPublisher method in AddRedisStorm
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net7.0
- MessagePack (>= 2.5.108)
- Microsoft.Extensions.DependencyInjection (>= 7.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 7.0.0)
- StackExchange.Redis (>= 2.6.104)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.