Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
Orleans.Redis is a package that use Redis as a backend for Orleans providers. It uses the great StackExchange.Redis library underneath.
PS> Install-Package Orleans.Persistence.Redis -prerelease
Configure your Orleans-cluster.
var silo = new SiloHostBuilder()
.AddRedisGrainStorage("Redis", optionsBuilder => optionsBuilder.Configure(options =>
{
options.DataConnectionString = "localhost:6379"; // This is the deafult
options.UseJson = true;
options.DatabaseNumber = 1;
}))
.Build();
await silo.StartAsync();
Decorate your grain classes with the StorageProvider
attribute.
[StorageProvider(ProviderName = "Redis")]
public class SomeGrain : Grain<SomeGrainState>, ISomeGrain
These settings will enable the redis cache to act as the store for grains that have
localhost:6379
, is passed directly to StackExchange.Redis)false
MIT