Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orleanscontrib/orleans.storageprovider.redis
A Redis implementation of the Orleans Storage Provider model. Uses the Azure Redis Cache to persist grain states.
https://github.com/orleanscontrib/orleans.storageprovider.redis
orleans orleans-storage-provider redis
Last synced: 29 days ago
JSON representation
A Redis implementation of the Orleans Storage Provider model. Uses the Azure Redis Cache to persist grain states.
- Host: GitHub
- URL: https://github.com/orleanscontrib/orleans.storageprovider.redis
- Owner: OrleansContrib
- Created: 2015-06-30T09:06:01.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T23:34:12.000Z (about 2 years ago)
- Last Synced: 2024-12-02T00:48:40.806Z (about 1 month ago)
- Topics: orleans, orleans-storage-provider, redis
- Language: C#
- Size: 93.8 KB
- Stars: 42
- Watchers: 29
- Forks: 20
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Orleans Redis Providers
1.5.x branch
[![Build status](https://ci.appveyor.com/api/projects/status/6xxnvi7rh131c9f1?svg=true)](https://ci.appveyor.com/project/OrleansContrib/orleans-storageprovider-redis)
2.x.x branch
[![Build status](https://ci.appveyor.com/api/projects/status/6xxnvi7rh131c9f1/branch/dev?svg=true)](https://ci.appveyor.com/project/OrleansContrib/orleans-storageprovider-redis/branch/dev)[Orleans](https://github.com/dotnet/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](https://redis.io/) 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](https://stackexchange.github.io/StackExchange.Redis/) library underneath.
## Installation
> PS> Install-Package Orleans.Persistence.Redis -prerelease
## Usage
Configure your Orleans-cluster.
```cs
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.
```cs
[StorageProvider(ProviderName = "Redis")]
public class SomeGrain : Grain, 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