A Redis implementation of the Orleans Storage Provider model. Uses the Azure Redis Cache to persist grain states.
C#
Switch branches/tags
Clone or download
richorama Merge pull request #14 from brianqcgames/master
Upgrade StackEchange.Redis to 1.2.6
Latest commit a65691e Dec 15, 2017

README.md

Orleans.StorageProvider.Redis

Build status dev branch Build status

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

Usage

Install-Package RedisStorage

Decorate your grain with the StorageProvider attribute matching the name you added from config e.g.

[StorageProvider(ProviderName = "RedisStore")]

and in your OrleansConfiguration.xml configure the RedisStorage provider like this:

<Provider Type="Orleans.StorageProviders.RedisStorage" Name="RedisStore"
    RedisConnectionString="<youraccount>.redis.cache.windows.net,abortConnect=false,ssl=true,password=<yourkey>"/>

These settings will enable the redis cache to act as the store for grains that have

  • State
  • Need to persist their state

Configuration

The following attributes can be used on the <Provider/> tag to configure the provider:

  • UseJsonFormat="true/false" (optional) Defaults to true, if set to false the Orleans binary serializer is used (this is recommended, as the JSON serializer is unable to serialize certain types).
  • RedisConnectionString="..." (required) the connection string to your redis database (i.e. <youraccount>.redis.cache.windows.net,abortConnect=false,ssl=true,password=<yourkey>)
  • DatabaseNumber="1" (optional) the number of the redis database to connect to

License

MIT