SkillAgentSearch skills...

Orleans.StorageProvider.Redis

A Redis implementation of the Orleans Storage Provider model. Uses the Azure Redis Cache to persist grain states.

Install / Use

/learn @OrleansContrib/Orleans.StorageProvider.Redis
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <img src="https://github.com/dotnet/orleans/blob/gh-pages/assets/logo.png" alt="Orleans.Redis" width="300px"> <h1>Orleans Redis Providers</h1> </p>

1.5.x branch Build status 2.x.x branch Build status

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.

Installation

PS> Install-Package Orleans.Persistence.Redis -prerelease

Usage

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

  • State
  • Need to persist their state

Configuration

  • DataConnectionString="..." (required) the connection string to your redis database (i.e. localhost:6379, is passed directly to StackExchange.Redis)
  • UseJson=true/false (optional) wether or not to persist state as a JSON string or not. Defaults to false
  • DatabaseNumber=1 (optional) the number of the redis database to connect to. Defaults

License

MIT

View on GitHub
GitHub Stars43
CategoryDevelopment
Updated11mo ago
Forks20

Languages

C#

Security Score

72/100

Audited on May 12, 2025

No findings